首页 > 代码库 > Pandas 10分钟入门----缺失数据的处理(官方文档注释版三)

Pandas 10分钟入门----缺失数据的处理(官方文档注释版三)

   在日常我们获取的数据中,经常会出现数据缺失的情况。对数据缺失的处理,有多种处理的方法:插值填补、平均值填补方法很多。这里不具体讨论用哪种方式去插补这些数据,而只是谈谈如何使用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=http://www.mamicode.com/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分钟入门----缺失数据的处理(官方文档注释版三)