numpy.isnan(value)与value == numpy.nan不一样?

Ale*_*ane 11 python types boolean numpy nan

为什么我会得到以下内容:

>>> v
nan
>>> type(v)
<type 'numpy.float64'>
>>> v == np.nan
False
>>> np.isnan(v)
True
Run Code Online (Sandbox Code Playgroud)

我原以为这两个应该是等价的?

use*_*ica 12

nan != nan.这nan就是定义等式比较的方式.决定该结果对于数值算法比替代方案更方便.这就是isnan存在的具体原因.