我想用替换(仅)数组(x)的未屏蔽值而不更改屏蔽值。我试过这个,
x = masked_array(data =
[[1 -- 6 3]
[3 -- 2 --]],
mask =
[[False True False False]
[False True False True]],
fill_value = 999999)
x[0,:] = 1.
但是我得到的结果并不是我所期望的,因为我在这里显示的轴0中的所有值都改变为1,
x = masked_array(data =
[[1 1 1 1]
[3 -- 2 --]],
mask =
[[False False False False]
[False True False True]],
fill_value = 999999)
我希望得到的结果如下:
x = masked_array(data =
[[1 -- 1 1]
[3 -- 2 --]],
mask =
[[False False False False]
[False True False True]],
fill_value = 999999)
对此有何见解? 请注意,这只是我的实际功能的一个示例,它使用非常大的蒙版netCDF文件。
提前致谢。
答案 0 :(得分:4)
您可以切入mask
的{{1}}并从x
中的给定行中选择特定元素:
x
在:
x[0,~x.mask[0,:]]=1
后:
In [40]: x
Out[40]:
masked_array(data =
[[1 -- 6 3]
[3 -- 2 --]],
mask =
[[False True False False]
[False True False True]],
fill_value = 999999)