如何使用Numpy屏蔽阵列的一部分?

如何使用Numpy屏蔽阵列的一部分?,numpy,Numpy,我想做的是“屏蔽”一个j元素数组的子集,范围从0到k。例如,对于此阵列: [0.2, 0.1, 0.3, 0.4, 0.5] 屏蔽它成为的前2个元素 [NaN, NaN, 0.3, 0.4, 0.5] 屏蔽_阵列是否支持此操作 In [51]: arr=np.ma.array([0.2, 0.1, 0.3, 0.4, 0.5],mask=[True,True,False,False,False]) In [52]: print(arr) [-- -- 0.3 0.4 0.5] 或者,如

我想做的是“屏蔽”一个
j
元素数组的子集,范围从
0
k
。例如,对于此阵列:

[0.2, 0.1, 0.3, 0.4, 0.5]
屏蔽它成为的前2个元素

[NaN, NaN, 0.3, 0.4, 0.5] 
屏蔽_阵列是否支持此操作

In [51]: arr=np.ma.array([0.2, 0.1, 0.3, 0.4, 0.5],mask=[True,True,False,False,False])

In [52]: print(arr)
[-- -- 0.3 0.4 0.5]
或者,如果您已经有了一个numpy数组,您可以使用(有关屏蔽特定元素的各种其他操作,请参阅链接):

或者,如果您希望屏蔽前两个元素:

In [53]: arr=np.array([0.2, 0.1, 0.3, 0.4, 0.5])

In [56]: np.ma.masked_less_equal(arr,0.2)
Out[57]: 
masked_array(data = [-- -- 0.3 0.4 0.5],
             mask = [ True  True False False False],
       fill_value = 1e+20)
In [67]: arr=np.array([0.2, 0.1, 0.3, 0.4, 0.5])

In [68]: arr=np.ma.array(arr,mask=False)

In [69]: arr.mask[:2]=True

In [70]: arr
Out[70]: 
masked_array(data = [-- -- 0.3 0.4 0.5],
             mask = [ True  True False False False],
       fill_value = 1e+20)
我发现:

ma.数组([1,2,3,4],掩码=[1,1,0,0]) 屏蔽数组(数据=[--3 4], 掩码=[True-False-False], 填充(U值=999999)