1、前提:加载numpy、pandas、和Series,DataFrame。生成一个含有缺失值的DataFrame(8*4),命名为df1,如图
2、使用thresh参数过滤缺失值。df1.dropna(thresh=3)表示至少有3个不是缺失值,df1.dropna(thresh=4)表示至少有4个不是缺失值,如图所示
3、使用fillna方法替换缺失值。df1.fillna(0)表示将所有的缺失值替换为常数0;df1.fillna({'b':1,'c':2,'d':3})表示将‘b’列缺失值替换为1,‘c’列缺失值替换为2,‘d’列缺失值替换为3,(字典可以根据key确定哪一列填充),如图
4、使用method方法进行插值。df1.fillna(method='bfill')表示对缺失值进行后向填充,df1.fillna(method='bfill',limit=2)表示对缺失值进行后向填充,同时至多填充2行,如图所示
5、除了填充常数,及填充前后数据,其实还可以填充均值或者最大值等描述性统计。df1.fillna(df1.mean())和df1.fillna(df1.max())分别表示填充每列的均值和最大值,如图
6、如果需要把原来的DataFrame缺失值直接替换掉(修改了原DataFrame),那么需要使用参数inplace=True即可,如图