我有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]
TypeError:“浮动”对象不可调用
为什么这么麻烦的事情不能那么简单?我只能使用numpy。
答案 0 :(得分:4)
使用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. ]