我有两个掩蔽阵列,两种形式:
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跟踪器上有一个相关的couple的open issues。