考虑一下这个简单的评估:
import numpy as np
aa = np.array([[np.nan, np.nan], [1.64, 0.0784]])
bb = [[np.nan, np.nan], [1.64, 0.0784]]
np.all(aa == bb)
它返回False
,即使aa
数组等于bb
列表。如果我对aa, bb
中的每个元素都这样做,我会得到:
np.all(aa[0] == bb[0])
False
np.all(aa[1] == bb[1])
True
这意味着这里的问题是nan
值。为什么会这样
Tags:
根据定义,
nan
与任何对象(使用内置操作数)相比,返回False
。尤其是,np.nan == np.nan
返回False
但是请注意,
!=
被定义为==
的否定,因此我们得到:您可以直接使用
相关问题 更多 >
编程相关推荐