我在 python 上有一个数组 A,其中有一些由 numpy.nan 创建的 nan 值。我想使用 将所有 nan 值设置为零A[A==numpy.nan] = 0
。它根本不会改变数组。这是为什么?
问问题
6054 次
2 回答
11
你想要np.isnan
:
A[np.isnan(A)] = 0
您的代码的问题在于(根据 IEEE),nan
不等于任何东西——甚至它本身。
作为旁注,还有
np.isinf
->(+/- 无穷大)np.isfinite
->(不是无穷大或 NaN)np.isposinf
-> (+ 无穷大)np.isneginf
-> (- 无穷大)
于 2012-11-09T02:27:45.513 回答
1
您可以使用 numpy 函数将矩阵 x 处的所有 nan 值更改为零。
numpy.nan_to_num(x)
于 2016-06-20T02:29:11.330 回答