處理丟失的數據


import numpy as np
import pandas as pd
from pandas import Series,DataFrame

有兩種丟失數據:
None

np.nan(NaN)

1. None
None是Python自帶的,其類型爲python object。因此,None不能參與到任何計算中。

a=np.array([1,None,3,4])
a.sum()    #None不能參與到計算中,會報錯

2. np.nan(NaN)
np.nan是浮點類型,能參與到計算中。但計算的結果總是NaN。

a=np.array([1,np.nan,3,4])
a.sum()

nan

np.nansum(a)

8.0

3. pandas中的None與NaN
1) pandas中None與np.nan都視作np.nan

2) pandas中None與np.nan的操作
isnull()
notnull()
dropna(): 過濾丟失數據
fillna(): 填充丟失數據
(1)判斷函數
isnull()
notnull()

(2) 過濾函數
dropna()

刪除所有的空值

(3) 填充函數
fillna()

data.fillna(0)   #空值用0來填充

data.fillna(method='ffill')   #空值用前一個值來填充

data.fillna(method='bfill')   #空值用後一個值來進行填充

對於DataFrame來說,還要選擇填充的軸axis。記住,對於DataFrame來說:
axis=0:列
axis=1:行

df.fillna(method='ffill',axis=0)    #按照該列的前一列的值來進行填充

fillna(method='ffill',axis=1)    #按照該行的前一個值來進行填充

發佈了39 篇原創文章 · 獲贊 16 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章