pandas 缺失值與空值處理的實現方法

2022-10-03 16:15:15 字數 2204 閱讀 3737

1.相關函式

2.相關概念

空值:在pandas中的空值是""

缺失值:在dataframe中為nan或者nat(缺失時間),在series中為none或者nan即可

3.函式具體解釋

dataframe.dropna(axis how='any', thresh=none, subset=none, inplace=false)

函式作用:刪除含有空值的行或列

axis:維度,axis=0表示index行,axis=1表示columns列,預設為0

how:"all"表示這一行或列中的元素全部缺失(為程式設計客棧nan)才刪除這一行或列,"any"表示這一行或列中只要有元素缺失,就刪除這一行或列

thresh:一行或一列中至少出現了thresh個才刪除。

subset:在某些列的子集中選擇出現了缺失值的列刪除,不在子集中的含有缺失值得列或行不會刪除(有axis決定是行還是列)

inplace:刷選過缺失值得新資料是存為副本還是直接在原資料上進行修改。

例子:df = pd.dataframe()

print df

預設引數:刪除行,只要有空值就會刪除,不替換。

print df.dropna()

print df

print "delete colums"

print df.dropna(axis=1) #delete col

print "所有值全為缺失值才刪除"

print df.dropna(how='all')

print "至少出現過兩個缺失值才刪除"

print df.dropna(thresh=2)

print "刪除這個subset中的含有缺失值的行或列"

print df.dropna(subset=['name', 'born'])

dataframe.fillna(value=none, method=none, axis=none, inplace=false, limit=none, downcast=none, **kwargs)

函式作用:填充缺失值

value:需要用什麼值去填充缺失值

axis:確定填充維度,從行開始或是從列開始

method:ffill:用缺失值前面的乙個值代替缺失值,如果axis =1,那麼就是橫向的前面的值替換後面的缺失值,如果axis=0,那麼則是上面的值替換下面的缺失值。backfill/bfill,缺失值後面的乙個值代替前面的缺失值。注意這個引數不能與value同時出現程式設計客棧

limit:確定填充的個數,如果limit=2,則只填充兩個缺失值。

示例:df = pd.dataframe([[np.nan, 2, np.nan, 0],

[3, 4, np.nan, 1],

[np.nan, np.nan,www.cppcns.com np.nan, 5],

[np.nan, 3, np.nan,

columns=list('abcd'))

print df

print "橫向用缺失值前面的值替換缺失值"

print df.fillna(axis=1,method='ffill')

print "縱向用缺失值上面的值替換缺失值"

print df.fillna(axis=0,method='ffill')

print df.fillna(0)

不同的列用不同的值填充:

對每列出現的替換值有次數限制,此處限制為一次

dataframe.isna()

判斷是不是缺失值:

isnull同上。

替換空值:

df = pd.dataframe([[np.nan, 2, np.nan, 0],

[3, 4, "", 1],

[np.nan, np.nan, np.nan, 5],

[np.nan, 3, "", 4]],

columns=list('abcd'))

print df

如上,缺失值是nan,空值是沒有顯示。

替換空值**:需要把含有空值的那一列提出來單獨處理,然後在放進去就好。

clean_z = df['c'].fillna(0)

clean_z[clean_z==''] = 'hello'

df['c'] = clean_z

print df

本文標題: pandas 缺失值與空值處理的實現方法

本文位址:

pandas 缺失值與空值處理

1.相關函式 df.dropna df.fillna df.isnull df.isna 缺失值 在dataframe中為nan或者nat 缺失時間 在series中為none或者nan即可 3.函式具體解釋 dataframe.dropna axis 0,how any thresh none,s...

pandas 缺失值與空值處理

df.dropna df.fillna df.isnull df.isna 空值 在pandas中的空值是 缺失值 在dataframe中為nan或者nat 缺失時間 在series中為none或者nan即可 dataframe.dropna axis 0,how any thresh none,s...

python pandas處理空值與缺失值問題

空值與缺失值問題 df.info info檢視資料是否為空,有多少的空值,或者缺失值如果小於10 直接刪除,否則另作考慮 一 空值與缺失值 空值 在pandas中是 缺失值 在dataframe中為nan或者nat 缺失時間 在series中為none或者nan df.dropna axis 0,h...