四、 缺失值处理

在 pandas 中,使用np.nan来代替缺失值,这些值将默认不会包含在计算中,详情请参阅:缺失的数据

1、 reindex()方法可以对指定轴上的索引进行改变/增加/删除操作,这将返回原始数据的一个拷贝:

  1. In [55]: df1 = df.reindex(index=dates[0:4], columns=list(df.columns) + ['E'])
  2. In [56]: df1.loc[dates[0]:dates[1],'E'] = 1
  3. In [57]: df1
  4. Out[57]:
  5. A B C D F E
  6. 2013-01-01 0.000000 0.000000 -1.509059 5 NaN 1.0
  7. 2013-01-02 1.212112 -0.173215 0.119209 5 1.0 1.0
  8. 2013-01-03 -0.861849 -2.104569 -0.494929 5 2.0 NaN
  9. 2013-01-04 0.721555 -0.706771 -1.039575 5 3.0 NaN

2、 去掉包含缺失值的行:

  1. In [58]: df1.dropna(how='any')
  2. Out[58]:
  3. A B C D F E
  4. 2013-01-02 1.212112 -0.173215 0.119209 5 1.0 1.0

3、 对缺失值进行填充:

  1. In [59]: df1.fillna(value=5)
  2. Out[59]:
  3. A B C D F E
  4. 2013-01-01 0.000000 0.000000 -1.509059 5 5.0 1.0
  5. 2013-01-02 1.212112 -0.173215 0.119209 5 1.0 1.0
  6. 2013-01-03 -0.861849 -2.104569 -0.494929 5 2.0 5.0
  7. 2013-01-04 0.721555 -0.706771 -1.039575 5 3.0 5.0

4、 对数据进行布尔填充:

  1. n [60]: pd.isnull(df1)
  2. Out[60]:
  3. A B C D F E
  4. 2013-01-01 False False False False True False
  5. 2013-01-02 False False False False False False
  6. 2013-01-03 False False False False False True
  7. 2013-01-04 False False False False False True