Python 替换numpy数组中的值时出错

Python 替换numpy数组中的值时出错,python,numpy,Python,Numpy,在福勒。numpy数组,我想用0.0替换任何匹配-1.0的值 array([[ 89.75, 90. ], [ 89.5 , 89.75], [ 89.25, 89.5 ], ..., [-89.5 , -89.25], [-89.75, -89.5 ], [-90. , -89.75]], dtype=float32) 但是,这会产生一个错误: var[var == mask_val] = def

在福勒。numpy数组,我想用0.0替换任何匹配-1.0的值

array([[ 89.75,  90.  ],
       [ 89.5 ,  89.75],
       [ 89.25,  89.5 ],
       ..., 
       [-89.5 , -89.25],
       [-89.75, -89.5 ],
       [-90.  , -89.75]], dtype=float32)
但是,这会产生一个错误:

var[var == mask_val] = default_val # mask_val is -1.0 and default_val is 0.0

*** IndexError: Index cannot be multidimensional

语法似乎正确,您确定变量的值吗?用硬编码的值替换它们,你会得到同样的错误吗?谢谢@karafka,尝试了硬编码的值,但它们也不起作用,同样的错误你的例子对我来说很好。你确定错误发生在你发布的那一行吗?是的,我认为一个完整的例子来证明错误是非常有帮助的。