当存在nan值时,为什么此列表与数组评估返回false?

时间:2018-05-07 17:00:21

标签: python numpy

考虑这个简单的评估:

bb

即使aa, bb数组等于np.all(aa[0] == bb[0]) False np.all(aa[1] == bb[1]) True 列表,也会返回nan。如果我为worker_replicas中的每个元素尝试此操作,我会得到:

{{1}}

这意味着{{1}}值是问题所在。为什么会这样?

1 个答案:

答案 0 :(得分:2)

根据定义,nan与任何内容(使用内置操作数)进行比较都会返回False。特别是,np.nan == np.nan会返回False

但请注意,!=被定义为==的否定,因此我们得到:

>>> import numpy as np
>>> np.nan == np.nan
False
>>> np.nan != np.nan
True

您可以直接使用

进行检查
>>> np.isnan(np.nan)
True