1. 程式人生 > >Pandas 10分鐘入門----缺失數據的處理(官方文檔註釋版三)

Pandas 10分鐘入門----缺失數據的處理(官方文檔註釋版三)

class ble 布爾 code 刪除索引 date method ren 插值

在日常我們獲取的數據中,經常會出現數據缺失的情況。對數據缺失的處理,有多種處理的方法:插值填補、平均值填補方法很多。這裏不具體討論用哪種方式去插補這些數據,而只是談談如何使用pandas去快速的處理這些數據。

pandas 常用np.nan代表缺失數據,詳情可以查看Missing Data section。

1、 reindex()可以允許你在指定維度上修改、增加、刪除索引,並返回數據的副本:

 df1 = df.reindex(index=dates[0:4], columns=list(df.columns) + [E])

 df1.loc[dates[0]:dates[
1],E] = 1 df1 A B C D F E 2013-01-01 0.000000 0.000000 -1.509059 5 NaN 1.0 2013-01-02 1.212112 -0.173215 0.119209 5 1.0 1.0 2013-01-03 -0.861849 -2.104569 -0.494929 5 2.0 NaN 2013-01-04 0.721555 -0.706771 -1.039575 5 3.0 NaN

2、丟棄有缺失的行 dropna

技術分享

可以是dropna(axis=xx),增加參數從而只清理一個維度的值

註意:這裏顯示的是返回的副本的值,而不是原始的值

3、填充空值

>>> df2.fillna(value=9.9)
                   A         B         C         D    E  F
2017-01-01  1.500000  2.500000  0.123356 -1.798571  9.9  1
2017-01-02 -0.459646  0.520100  0.511138  0.183975  9.9  2
2017-01-03  0.463326 -0.970487 -1.120780 -0.614481  5.0  3
2017-01-04  1.505464 -1.743313  1.020903 -1.049047  5.0  4

4、用布爾型標識那些是空值

>>> pd.isnull(df2)
                A      B      C      D      E      F
2017-01-01  False  False  False  False   True  False
2017-01-02  False  False  False  False   True  False
2017-01-03  False  False  False  False  False  False
2017-01-04  False  False  False  False  False  False

5、用前置值或者後置值填充空值 fillna(method=xxx)

技術分享

method中的backfill是後向,pad代表前向。該方法對於reindex一樣適用。

Pandas 10分鐘入門----缺失數據的處理(官方文檔註釋版三)