Pandas 處理缺失資料

2021-08-18 18:54:01 字數 2631 閱讀 1502

import numpy as np

import pandas as pd

from pandas import series,dataframe

s = series(['a','b',np.nan,'c','d'])

pd.isnull(s)

0    false

1 false

2 true

3 false

4 false

dtype: bool

s = series(['a','b',none,'c','d'])

pd.isnull(s)

0    false

1 false

2 true

3 false

4 false

dtype: bool

dropna()函式

s.dropna()
0    a

1 b

3 c

4 d

dtype: object

布林陣列

s[pd.notnull(s)]
0    a

1 b

3 c

4 d

dtype: object

df = dataframe([[1,3,5,7],

[2,4,np.nan,8],

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

[1,1,np.nan,np.nan]])

刪除包含缺失值的行

print(df.dropna())
0    1    2    3

0 1.0 3.0 5.0 7.0

刪除包含缺失值的列

print(df.dropna(axis=1))
empty dataframe

columns:

index: [0, 1, 2, 3]

刪除全部為缺失值的行

print(df.dropna(how='all'))
0    1    2    3

0 1.0 3.0 5.0 7.0

1 2.0 4.0 nan 8.0

3 1.0 1.0 nan nan

當有效資料不少於thresh時不過濾

print(df.dropna(thresh=3))
0    1    2    3

0 1.0 3.0 5.0 7.0

1 2.0 4.0 nan 8.0

所有缺失值統一填充

print(df.fillna(0))
0    1    2    3

0 1.0 3.0 5.0 7.0

1 2.0 4.0 0.0 8.0

2 0.0 0.0 0.0 0.0

3 1.0 1.0 0.0 0.0

不同列填充不同值

print(df.fillna()) #第3列填充-1,第2列填充100
0    1      2    3

0 1.0 3.0 5.0 7.0

1 2.0 4.0 100.0 8.0

2 nan nan 100.0 -1.0

3 1.0 1.0 100.0 -1.0

print(df.fillna(method='ffill'))
0    1    2    3

0 1.0 3.0 5.0 7.0

1 2.0 4.0 5.0 8.0

2 2.0 4.0 5.0 8.0

3 1.0 1.0 5.0 8.0

df.fillna(0,inplace=true)

print(df)

0    1    2    3

0 1.0 3.0 5.0 7.0

1 2.0 4.0 0.0 8.0

2 0.0 0.0 0.0 0.0

3 1.0 1.0 0.0 0.0

pandas處理缺失資料

na處理方法 方法 說明 dropna 根據各標籤的值中是否存在缺失資料對軸標籤進行過濾,可通過閾值調節對缺失值得容忍度 fillna 用指定值或插值方法 如ffill和bfill 填充缺失資料 isnull 返回乙個含有布林值的物件,這些布林值表示哪些值是缺失值na,該物件的型別與源型別一樣 no...

pandas處理,填充缺失資料

1 pandas使用浮點值nan表示浮點和非浮點陣列的缺失資料 對於乙個series可以用dropna方法或者通過布林型索引達到目的 2 對於dataframe丟棄全na 丟棄全為na的那些行 丟棄全為na的那些列 利用thresh,留下一部分觀測資料 thresh 3,表示在行方向上至少有3個非n...

Pandas中資料的缺失處理

在pandas資料處理中,資料值缺失是經常面臨的問題。如何查詢 處理缺失值就成了資料處理的必備方法。一 缺失值型別 pandas中缺失值主要有三種符號 np.nan none和nat。np.nan是缺失值的一種符號,nan意為not a number。它不等於任何東西,包括它本身。其次,在使用equ...