1. 程式人生 > >pandas:填充缺失值

pandas:填充缺失值

當資料中存在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'])