处理缺失值
-
缺失值是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.merge(left, right, how='inner', on=['key1', 'key2']) -
左连接
pd.merge(left, right, how='left', on=['key1', 'key2'])
-
-
右连接
pd.merge(left, right, how='right', on=['key1', 'key2']) -
外连接
pd.merge(left, right, how='outer', on=['key1', 'key2'])
交叉表与透视表
-
交叉表
pd.crosstab() -
透视表
pd.pivot_table()
分组与聚合
- 分组
df.groupby()
网友评论