如何将 numpy.nan 替换为 -1(在一行代码中)?

Pet*_*r.k 1 python numpy

我有z = np.array([4.4, 3, 0, np.nan, -1, 6]),只是找不到任何快速友好的解决方案来轻松更换。我不敢相信它有时是如此不友好的语言。

我试过:

np.where(z == np.nan, -1, z)

没发生什么事

np.nan_to_num(z, -1)

更改为零

z = [-1 if np.nan(x) else x for x in z]

类型错误:“浮动”对象不可调用

为什么这么简单的事情不能那么简单?我必须只使用 numpy。

Jep*_*ppe 6

使用np.isnan(x). 你可以这样替换:

z = np.array([4.4, 3, 0, np.nan, -1, 6])
z[np.isnan(z)] = -1
print(z)

# [ 4.4  3.   0.  -1.  -1.   6. ]
Run Code Online (Sandbox Code Playgroud)