过滤缺失数据 dropna()
- 通过 dropna() 滤除缺失数据,凡是包含NaN的行/列都过滤掉:
df1.dropna()
- 传入how=‘all’ 滤除全部都是NaN的数据:
df1.dropna(how='all')
- 默认情况下是 how=‘any’,只要有NaN就删除 :
df1.dropna(how='any')
- 传入axis=1 或 axis=0 过滤列或者行的NaN:
df1.dropna(axis=1,how='all')
- 传入thresh=n 保留至少有n个非NaN数据的行:
df1.dropna(thresh=1)
填充缺失数据
- 用常数填充fillna :
df1.fillna(0)
- 传入inplace=True直接修改原对象:
df1.fillna(0,inplace=True)
- 通过字典填充不同的常数:
df1.fillna({0:10,1:20,2:30})
意思就是0列的NaN填充成10,1列的填充成20,2列的填充成30 - 填充平均值:
df1.fillna(df1.mean())
- 只填充一列:
df1.iloc[:,1].fillna(5,inplace