pandas:填充缺失值
阿新 • • 發佈:2019-02-01
當資料中存在NaN缺失值時,我們可以用其他數值替代NaN,主要用到了DataFrame.fillna()方法,下面我們來看看具體的用法:
1.先來建立一個帶有缺失值的DataFrame:
具體數值為:import pandas as pd import numpy as np df=pd.DataFrame(np.random.randn(5,3),index=list('abcde'),columns=['one','two','three']) df=pd.DataFrame(np.random.randn(5,3),index=list('abcde'),columns=['one','two','three']) df.ix[1,:-1]=np.nan df.ix[1:-1,2]=np.nan df
2.使用0替代缺失值(當然你可以用任意一個數字代替NaN)
df.fillna(0)
3.用一個字串代替缺失值
df.fillna('missing')
4.用前一個數據代替NaN:method='pad'df.fillna(method='pad')
5.與pad相反,bfill表示用後一個數據代替NaN。這裡我們增加一個知識點,用limit限制每列可以替代NaN的數目,下面我們限制每列只能替代一個NaN
df.fillna(method='bfill',limit=1)
6.除了上面用一個具體的值來代替NaN之外,還可以使用平均數或者其他描述性統計量來代替NaN
df.fillna(df.mean()
7.最後,我們還可以選擇哪一列進行缺失值的處理。
df.fillna(df.mean()['one':'two'])