在2D numpy MaskedArray中通过赋值来解开元素的掩码

2024-09-25 10:20:47 发布

您现在位置:Python中文网/ 问答频道 /正文

使用一维numpy MaskedArray,我可以将其分配给一个元素,该元素可以取消标记数组:

In [183]: x = np.ma.MaskedArray(data=np.zeros((2),dtype=float),mask=True)

In [184]: x[0] = 9

In [185]: x
Out[185]:
masked_array(data = [9.0 --],
         mask = [False  True],
   fill_value = 1e+20)

对于二维数组,指定给单个值不会取消数组的掩码:

^{pr2}$

如果我分配给一个切片,这个切片就会被揭开

In [189]: x[0] = 9

In [190]: x
Out[190]:
masked_array(data =
 [[9.0 9.0]
 [-- --]],
             mask =
 [[False False]
 [ True  True]],
       fill_value = 1e+20)

我如何分配给一个值来取消它的掩码?在


Tags: infalsetrue元素datavaluenpmask
1条回答
网友
1楼 · 发布于 2024-09-25 10:20:47
x[0, 0] = 9

看起来当您执行x[0][0] = 9时,NumPy将x[0]临时的掩码与x的掩码分离,因此赋值只取消{}临时掩码。相关代码在^{}

^{pr2}$

我不知道为什么会这样。在

相关问题 更多 >