【问题标题】:Mask Indices in an array数组中的掩码索引
【发布时间】:2022-07-27 23:31:27
【问题描述】:

我有一个类似的数组:

data=np.array([1,2,3,5,8,7,2,1,3,5,1,2,20])

我想以 3 的步长屏蔽数组索引。 例如,我可以屏蔽数组的值等于 3 的位置。

import numpy as np
import numpy.ma as ma
x = np.array([1,2,3,5,8,7,2,1,3,5,1,2,20])
mx=ma.masked_values(x,3)
output:
[1 2 -- 5 8 7 2 1 -- 5 1 2 20]

要求: 我需要屏蔽数组中的每 3 个索引。(第 3 步)

所需的输出: [1,2,3,--,8,7,--,1,3,--,1,2,--]

【问题讨论】:

    标签: python numpy


    【解决方案1】:

    试试这个:

    mask = list(map(lambda i: i%3==2, np.arange(len(x))))
    ma.masked_array(x, mask=mask)
    

    输出:

    masked_array(data=[1, 2, --, 5, 8, --, 2, 1, --, 5, 1, --, 20],
                 mask=[False, False,  True, False, False,  True, False, False,
                        True, False, False,  True, False],
           fill_value=999999)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-01-06
      • 2022-10-18
      • 1970-01-01
      • 1970-01-01
      • 2020-01-14
      • 2020-02-14
      • 2016-11-22
      • 1970-01-01
      相关资源
      最近更新 更多