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...