考虑以下脚本:
第一个情况很清楚(根据IEEE-754标准),但第二个情况怎么回事?为什么这两个NaN相等呢?
Python 2.7.3,Numpy 1.6.1在Darwin上。
import numpy as np
a = np.array([np.nan], dtype=float)
b = np.array([np.nan], dtype=float)
print a == b
a = np.array([np.nan], dtype=object)
b = np.array([np.nan], dtype=object)
print a == b
在我的机器上,这将打印出
[False]
[ True]
第一个情况很清楚(根据IEEE-754标准),但第二个情况怎么回事?为什么这两个NaN相等呢?
Python 2.7.3,Numpy 1.6.1在Darwin上。
list
做的就是这个:x = [numpy.nan]; x == x #>>> True
。 - Veedrac