处理缺失值
-
缺失值是np.NaN
- 判断是否NaN缺失
pd.isnull(df).any()
pd.notnull(df).all() - 处理
- 判断是否NaN缺失
缺失值是其他字符(例如?)
1.先替换成NaN: df.replace('?', np.nan)
2.再按NaN处理缺失值
数据离散化
- 分组
- 自动分组 new_sr = pd.qcut(sr, bins=3)
- 自定义分组 new_sr = pd.cut(sr, bins=[0, 165, 185, 300])
- one-hot编码
df = pd.get_dummies(new_sr , prefix=)
合并
- 方向合并
pd.concat([df1, df2], axis=0)axis=0竖直合并
axis=1 水平合并 - 索引合并
pd.merge()-
内连接
-
左连接
-
-
右连接
-
外连接
交叉表与透视表
交叉表
pd.crosstab()透视表
pd.pivot_table()
分组与聚合
- 分组
df.groupby()