处理 NaN
数据, 一些 空 或者 NaN
数据, 如何删除或者填补这些 NaN
数据.
创建含 NaN 的矩阵
建立了一个6X4的矩阵数据并且把两个位置置为空.
1 | import pandas as pd |
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
pd.dropna()
如果想直接去掉有 NaN
的行或列, 可以使用 dropna
1 | df1 = df.dropna( |
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
pd.fillna()
如果是将 NaN
的值用其他值代替, 比如代替成 0
:
1 | df2 = 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
pd.isnull()
判断是否有缺失数据 NaN
, 为 True
表示缺失数据:
1 | print(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
检测在数据中是否存在 NaN
, 如果存在就返回 True
:
1 | np.any(df.isnull()) == True |
True
Checking if Disqus is accessible...