Pandas處理丟失資料

2021-09-08 09:07:14 字數 1953 閱讀 4410

pandas處理丟失資料

1、建立含nan的矩陣

>>> dates = pd.date_range('

20130101

', periods=6)

>>> df = pd.dataframe(np.arange(24).reshape((6,4)),index=dates, columns=['

a','

b','

c','d'

])>>> df.iloc[0,1] =np.nan

>>> df.iloc[1,2] =np.nan

>>> print

(df)

a b c d

2013-01-01 0 nan 2.0 3

2013-01-02 4 5.0 nan 7

2013-01-03 8 9.0 10.0 11

2013-01-04 12 13.0 14.0 15

2013-01-05 16 17.0 18.0 192013-01-06 20 21.0 22.0 23

2、pd.dropna():直接去掉有nan的行或列

>>>df.dropna(

... axis=0, #

0: 對行進行操作; 1: 對列進行操作

... how='

any'

#'any': 只要存在 nan 就 drop 掉; 'all': 必須全部是 nan 才 drop

... )

a b c d

2013-01-03 8 9.0 10.0 11

2013-01-04 12 13.0 14.0 15

2013-01-05 16 17.0 18.0 19

2013-01-06 20 21.0 22.0 23

3、pd.fillna():將nan的值用其他值代替,比如代替成0:

>>> df.fillna(value=0)

a b c d

2013-01-01 0 0.0 2.0 3

2013-01-02 4 5.0 0.0 7

2013-01-03 8 9.0 10.0 11

2013-01-04 12 13.0 14.0 15

2013-01-05 16 17.0 18.0 19

2013-01-06 20 21.0 22.0 23

4、pd.isnull():判斷是否有缺失資料nan,為true表示缺失資料

>>>df.isnull()

a b c d

2013-01-01false true false false

2013-01-02false false true false

2013-01-03false false false false

2013-01-04false false false false

2013-01-05false false false false

2013-01-06 false false false false

>>> np.any(df.isnull()) == true#檢測在資料中是否存在nan, 如果存在就返回true:

true

posted on

2018-07-28 23:14

anhoo 閱讀(

...)

編輯收藏

pandas處理丟失資料

有兩種丟失資料的方式 none np.nan nan 1,none none是python當中自帶的,型別為python object,所以,none是不能參與到任何的計算當中的 2,np.nan np.nan是浮點型別,能參與到計算當中,但是計算的結果為nan pandas中none與np.nan...

pandas處理丟失資料

pandas將none和nan視為可交換的,它們都可以用來指示丟失的資料。none可以代替丟失值 哨兵值 並不適合所有情況,只能用於陣列的型別為物件的情況。none會導致一些聚合操作,比如sum 和min 會報錯。nan 代替丟失值 另外一中哨兵值 一種特殊的浮點型資料,不管什麼操作,只要有nan,...

Pandas處理丟失資料

dates pd.date range 20130101 periods 6 df pd.dataframe np.arange 24 reshape 6,4 index dates,columns a b c d df.iloc 0,1 np.nan df.iloc 1,2 np.nan prin...