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

时间:2015-04-09 01:17:10

标签: python numpy types boolean nan

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

>>> v
nan
>>> type(v)
<type 'numpy.float64'>
>>> v == np.nan
False
>>> np.isnan(v)
True

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

1 个答案:

答案 0 :(得分:11)

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