我有两个掩蔽阵列,两种形式:

masked_array(data =
 [[-- -- -- ..., -- -- --]
 [-- -- -- ..., -- -- --]
 [-- -- -- ..., -- -- --]
 ...,
 [-- -- -- ..., -- -- --]
 [-- -- -- ..., -- -- --]
 [-- -- -- ..., -- -- --]],
             mask =
 [[ True  True  True ...,  True  True  True]
 [ True  True  True ...,  True  True  True]
 [ True  True  True ...,  True  True  True]
 ...,
 [ True  True  True ...,  True  True  True]
 [ True  True  True ...,  True  True  True]
 [ True  True  True ...,  True  True  True]],
       fill_value = -9999.0)

当我将它们相乘时,填充值变为fill_value = 1e+20
为什么会这样?如何保留以前的填充值?这就是我对他们的理解:
array_a * array_b

最佳答案

您所指的行为是从2013年10月开始由this commit引入的,它在v1.10.0以后的版本中得到了应用。
我不能百分之百确定它是否应该被认为是一个错误。对我来说,这似乎不合理,但是文档似乎没有指定在对填充值应用ufunc时应该对其执行什么操作。numpy GitHub跟踪器上有一个相关的coupleopen issues

09-25 18:27
查看更多