一尘不染

将数组的值从nan更改为零

python

我在python上有一个数组A,它具有由numpy.nan创建的一些nan值。我想使用将所有nan值设置为零A[A==numpy.nan] = 0。它根本不会改变数组。这是为什么?


阅读 303

收藏
2021-01-20

共1个答案

一尘不染

您要np.isnan

A[np.isnan(A)] = 0

您的代码存在的问题是(根据IEEE),nan它不等于任何东西,甚至不等于它本身。

附带一提的是,

  • np.isinf ->(+/-无限)
  • np.isfinite ->(不是无穷大或NaN)
  • np.isposinf ->(+无限)
  • np.isneginf ->(-无限)
2021-01-20