首页 > 解决方案 > np.where 用于查找差异,nans 与非 nan 值混合

问题描述

如果我比较两个包含NaNs这样的数组:

a = np.array([[1,2,3], [np.nan, 2, 3]])
b = np.array([[1,2,3], [np.nan, 2, 3]])
np.where(a==b, a, -1)

我明白了

 array([[ 1.,  2.,  3.],
       [-1.,  2.,  3.]])

这是有道理的,因为:

np.nan == np.nan

产量False

然而,np.where(a is b, a, -1)也没有任何意义。

np.allclose(a, b, 1e-5)

产量False

由于 bith 数组具有相同的值,我该如何证明呢?

标签: pythonnumpy

解决方案


推荐阅读