1 统计缺失值
统计data里每一列是否有空值:
data.isnull().any()
统计data里每一列空值的个数:
data.isnull().any().sum()
但是有的时候,明明有空值却统计不出来。
最近我遇到的数据,空值的填充是null,这个需要转化一下才可以用上面的函数。
data = data.replace('null',np.NaN)
然后你再继续用data.isnull().any(),ata.isnull().any().sum()就没问题了。
如果这么做,你的问题还没解决,查看你的缺失值的填充是什么,用np.NaN替代。、
另外的方法:
np.any(np.isnan(data))
np.all(np.isfinite(data))
2 缺失值填充
inf数值填充
data.fillna(0) # 用了0填充
判断:np.isinf(data)
填充:data[np.isinf(data)) = 0
3 番外
如果你的数据有字符串,null也算,在你做data.describe()时,这一列不会出现。所以也可以用describe()的某一列是否出现来检查是否有缺失值,字符串。
当你用data.fillna(0)把缺失值都处理完之后,发现data.describe()还是缺少原来的一列。
这时候你要查看,这一列的数据格式是什么,用data[colname].dtype查看这一列数据的格式,
然后查看能在describe()中出现的一列的数据格式,你会发现不一样,所以你改成一致就ok了,
用函数data[colname].astype(‘int64’)