首页 > 其他 > 详细

Pandas处理丢失数据

时间:2018-07-28 23:49:03      阅读:271      评论:0      收藏:0      [点我收藏+]

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  19
2013-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-01  False   True  False  False
2013-01-02  False  False   True  False
2013-01-03  False  False  False  False
2013-01-04  False  False  False  False
2013-01-05  False  False  False  False
2013-01-06  False  False  False  False

  >>> np.any(df.isnull()) == True#检测在数据中是否存在 NaN, 如果存在就返回 True:
  True

 

Pandas处理丢失数据

原文:https://www.cnblogs.com/anhoo/p/9383840.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!