转自:http://blog.csdn.net/xiaodongxiexie/article/details/54352889
在处理数据时遇到NAN值的几率还是比较大的,有的时候需要对数据值是否为nan值做判断,但是如下处理时会出现一个很诡异的结果:
import numpy as np
np.nan == np.nan
#此时会输出为False
- 1
- 2
- 3
- 4
对np.nan进行help查看,输出如下:
Help on float object:
class float(object)
| float(x) -> floating point number
|
| Convert a string or number to a floating point number, if possible.
。。。
|
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
可以得到其属于float的子类,发现有个方法可以这么用:
np.isnan(np.nan)
#这样就可以检测np.nan值了
- 1
- 2
或者可以用pandas库来检验:
import pandas as pd
pd.isnull(np.nan)
#此时一样输出为True
#同样的pd.notnull()用来判断不为nan值
- 1
- 2
- 3
- 4
还可以用python内置math来查看:
In [13]: import math
In [14]: import numpy as np
In [15]: n = np.nan
In [16]: math.isnan(np.nan)
Out[16]: True