好像最简单的python分析并没有放进我的博客,有点时间也得整理到这里来,今天是第一则,以实际案例出发:
import numpy as np
import pandas as pd
In [12]:
#nan默认是float型
demo1 = pd.Series([1,2,3,np.nan,5,6])
In [3]:
demo1
Out[3]:
0 1.0
1 2.0
2 3.0
3 NaN
4 5.0
5 6.0
dtype: float64
In [9]:
#可以定义dtype类型
demo1 = pd.Series([1,2,3,5,6],dtype = 'int')
In [10]:
demo1
Out[10]:
0 1
1 2
2 3
3 5
4 6
dtype: int32
In [11]:
#日期
dates = pd.date_range('20190312',periods = 6)
dates
Out[11]:
DatetimeIndex(['2019-03-12', '2019-03-13', '2019-03-14', '2019-03-15',
'2019-03-16', '2019-03-17'],
dtype='datetime64[ns]', freq='D')
In [14]:
df = pd.DataFrame(np.random.randn(6,4),index = dates,columns = list('ABCD'))
df
Out[14]:
A B C D
2019-03-12 -0.597447 -0.700751 0.364746 -1.828676
2019-03-13 0.669051 -0.262570 -0.864878 1.186042
2019-03-14 -0.211970 1.329472 1.816987 0.697356
2019-03-15 -1.303575 0.925713 0.617014 -0.361540
2019-03-16 -0.848670 -0.233917 0.706652 0.004168
2019-03-17 0.762136 -1.189678 -1.105097 0.646158
In [ ]:
#C:\Users\lihwa11\Desktop\Python
In [5]:
import pandas as pd
df = pd.read_excel(r"C:\Users\lihwa11\Desktop\Python\content.xlsx",sheet_name = 'b',index_col = 0,nrows = 15)
print(df)
性别 年龄 生源地 学费 住宿费 奖学金级别 是否贷款 缴费日期
学号
161070027 女 23 安徽 8000.0 1290.0 12000.0 是 2019-03-24
161070028 女 24 北京 8000.0 1290.0 8000.0 否 2019-03-25
161070029 男 25 浙江 8000.0 1290.0 8000.0 是 2019-03-26
161070030 男 23 河南 NaN 1290.0 10000.0 是 2019-03-27
161070031 女 26 山西 8000.0 1290.0 12000.0 否 2019-03-28
161070032 男 27 江苏 8000.0 1290.0 NaN 否 NaT
161070033 男 25 NaN 8000.0 1290.0 8000.0 否 2019-03-30
161070034 NaN 25 浙江 8000.0 1290.0 NaN 否 NaT
161070035 男 24 湖南 8000.0 1290.0 8000.0 否 2019-04-01
161070036 女 26 广东 8000.0 NaN 8000.0 否 2019-04-02
161070037 女 27 湖南 8000.0 NaN 8000.0 否 2019-04-03
161070038 女 23 上海 8000.0 NaN 8000.0 是 2019-04-04
161070039 男 26 上海 8000.0 1290.0 10000.0 否 2019-04-05
161070040 男 25 浙江 8000.0 1290.0 8000.0 否 2019-04-06
161070041 女 25 浙江 8000.0 1290.0 8000.0 是 2019-04-07
In [8]:
df = pd.read_excel(r"C:\Users\lihwa11\Desktop\Python\content.xlsx",index_col = "学号",usecols = [0,1,2,4,5],nrows = 5)
print(df)
性别 年龄 学费 住宿费
学号
161070027 女 23 8000.0 1290
161070028 女 24 8000.0 1290
161070029 男 25 8000.0 1290
161070030 男 23 NaN 1290
161070031 女 26 8000.0 1290
In [11]:
df = pd.read_excel(r"C:\Users\lihwa11\Desktop\Python\content.xlsx",header = 0,nrows = 5)
print(df)
学号 性别 年龄 生源地 学费 住宿费 奖学金级别 是否贷款 缴费日期
0 161070027 女 23 安徽 8000.0 1290 12000 是 2019-03-24
1 161070028 女 24 北京 8000.0 1290 8000 否 2019-03-25
2 161070029 男 25 浙江 8000.0 1290 8000 是 2019-03-26
3 161070030 男 23 河南 NaN 1290 10000 是 2019-03-27
4 161070031 女 26 山西 8000.0 1290 12000 否 2019-03-28
In [12]:
#以header = 1,以第二行为列索引
df = pd.read_excel(r"C:\Users\lihwa11\Desktop\Python\content.xlsx",header = 1,nrows = 5)
print(df)
161070027 女 23 安徽 8000 1290 12000 是 2019-03-24 00:00:00
0 161070028 女 24 北京 8000.0 1290 8000.0 否 2019-03-25
1 161070029 男 25 浙江 8000.0 1290 8000.0 是 2019-03-26
2 161070030 男 23 河南 NaN 1290 10000.0 是 2019-03-27
3 161070031 女 26 山西 8000.0 1290 12000.0 否 2019-03-28
4 161070032 男 27 江苏 8000.0 1290 NaN 否 NaT
In [13]:
df = pd.read_excel(r"C:\Users\lihwa11\Desktop\Python\content.xlsx",header = None,nrows = 5,skiprows = 1,names = ["学号","性别","年龄","生源地","是否贷款"])
print(df)
学号 性别 年龄 生源地 是否贷款
161070027 女 23 安徽 8000.0 1290 12000 是 2019-03-24
161070028 女 24 北京 8000.0 1290 8000 否 2019-03-25
161070029 男 25 浙江 8000.0 1290 8000 是 2019-03-26
161070030 男 23 河南 NaN 1290 10000 是 2019-03-27
161070031 女 26 山西 8000.0 1290 12000 否 2019-03-28
In [16]:
df = pd.read_excel(r"C:\Users\lihwa11\Desktop\Python\content.xlsx",header = None,nrows = 5,skiprows = 1)
print(df)
0 1 2 3 4 5 6 7 8
0 161070027 女 23 安徽 8000.0 1290 12000 是 2019-03-24
1 161070028 女 24 北京 8000.0 1290 8000 否 2019-03-25
2 161070029 男 25 浙江 8000.0 1290 8000 是 2019-03-26
3 161070030 男 23 河南 NaN 1290 10000 是 2019-03-27
4 161070031 女 26 山西 8000.0 1290 12000 否 2019-03-28
In [18]:
df.columns = ["学号","性别","年龄","生源地","学费","住宿费","奖学金级别","是否贷款","缴费日期"]
In [19]:
df
Out[19]:
学号 性别 年龄 生源地 学费 住宿费 奖学金级别 是否贷款 缴费日期
0 161070027 女 23 安徽 8000.0 1290 12000 是 2019-03-24
1 161070028 女 24 北京 8000.0 1290 8000 否 2019-03-25
2 161070029 男 25 浙江 8000.0 1290 8000 是 2019-03-26
3 161070030 男 23 河南 NaN 1290 10000 是 2019-03-27
4 161070031 女 26 山西 8000.0 1290 12000 否 2019-03-28
In [21]:
df = pd.read_csv(r"C:\Users\lihwa11\Desktop\Python\content.csv",encoding = "utf-8",engine = "python")
print(df)
学号 性别 年龄 生源地 学费 住宿费 奖学金级别 是否贷款 缴费日期
0 161070027 女 23 安徽 8000.0 1290.0 12000.0 是 2019/3/24
1 161070028 女 24 北京 8000.0 1290.0 8000.0 否 2019/3/25
2 161070029 男 25 浙江 8000.0 1290.0 8000.0 是 2019/3/26
3 161070030 男 23 河南 NaN 1290.0 10000.0 是 2019/3/27
4 161070031 女 26 山西 8000.0 1290.0 12000.0 否 2019/3/28
5 161070032 男 27 江苏 8000.0 1290.0 NaN 否 NaN
6 161070033 男 25 NaN 8000.0 1290.0 8000.0 否 2019/3/30
7 161070034 NaN 25 浙江 8000.0 1290.0 NaN 否 NaN
8 161070035 男 24 湖南 8000.0 1290.0 8000.0 否 2019/4/1
9 161070036 女 26 广东 8000.0 NaN 8000.0 否 2019/4/2
10 161070037 女 27 湖南 8000.0 NaN 8000.0 否 2019/4/3
11 161070038 女 23 上海 8000.0 NaN 8000.0 是 2019/4/4
12 161070039 男 26 上海 8000.0 1290.0 10000.0 否 2019/4/5
13 161070040 男 25 浙江 8000.0 1290.0 8000.0 否 2019/4/6
14 161070041 女 25 浙江 8000.0 1290.0 8000.0 是 2019/4/7
15 161070042 男 26 天津 8000.0 1290.0 8000.0 否 2019/4/8
16 161070043 男 28 湖北 8000.0 1290.0 10000.0 否 2019/4/9
In [24]:
df = pd.read_csv(r"C:\Users\lihwa11\Desktop\Python\content.txt",encoding = "utf-8",engine = "python",sep = "\t",nrows= 5,index_col = "学号")
print(df)
性别 年龄 生源地 学费 住宿费 奖学金级别 是否贷款 缴费日期
学号
161070027 女 23 安徽 8000.0 1290 12000 是 2019/3/24
161070028 女 24 北京 8000.0 1290 8000 否 2019/3/25
161070029 男 25 浙江 8000.0 1290 8000 是 2019/3/26
161070030 男 23 河南 NaN 1290 10000 是 2019/3/27
161070031 女 26 山西 8000.0 1290 12000 否 2019/3/28
In [25]:
df = pd.read_excel(r"C:\Users\lihwa11\Desktop\Python\content.xlsx",sheet_nam = 0,nrows = 5)
df.to_excel(r"C:\Users\lihwa11\Desktop\Python\20190322.xlsx",index = False,columns = ["学号","性别","学费","是否贷款"],
encoding = "utf-8",sheet_name = "示例",na_rep = "Na",inf_rep = "Na")
https://zhuanlan.zhihu.com/p/60248460