1、pandas.Series
为数据分配索引,例如:
data=np.random.randn(5)
pd.Series(data, index=['a', 'b', 'c', 'd', 'e'])
>>>
a -0.287461
b 0.736157
c 1.759875
d -0.238167
e 0.621458
dtype: float64
pd.Series(np.random.randn(5))
>>>
0 -0.334205
1 -1.033102
2 -0.349577
3 -1.459086
4 0.148646
dtype: float64
2、pandas.concat : 将多个DataFrame融合
df1 = pd.DataFrame({'A': ['A0', 'A1', 'A2', 'A3'],
'B': ['B0', 'B1', 'B2', 'B3']},
index=[0, 1, 2, 3])
df2 = pd.DataFrame({'D': ['D0', 'D1', 'D2', 'D3']},
index=[0, 1, 2, 3])
s=pd.concat([df1,df2], axis=1) # 1是在X轴方向合并,0是在Y轴方向合并
3、删除某一列:drop
df.drop([‘column’],axis=1) # 临时删除
df.drop([‘column’],axis=1,inplace=True) <—–> df = df.drop([‘column’],axis=1)
4、类型转换:astype
df[‘column’]=df[‘column’].astype(‘int’)
df[‘column’]=df.column.astype(int)
5、填充空值:fillna
df[‘column’].fillna(value=0, inplace=True)
6、将某一列指定的值替换
df[‘column’][df[‘column’]==value1]=value2
7、两表连接查询
类似于将SQL语句:SELECT df1.ID FROM df1, df2 WHERE df1.ID=df2.ID
转换成pandas语句
df1[df1['ID']==df2['ID']]
这个办法表df1, df2必须有相同的index
否则会出现
ValueError: Can only compare identically-labeled Series objects
错误
8、选择指定数据类型的列
col_dates = df.dtypes[df.dtypes == 'datetime64[ns]'].index
for d in col_dates:
df[d] = df[d].dt.to_period('M')
9、某列的众数:df.emp_length.median()
df['emp_length'] = df['emp_length'].fillna(df.emp_length.median())