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’)