【问题标题】:Find the remainder mask between 2 masks in numpy for 2D array在 numpy 中为 2D 数组查找 2 个掩码之间的剩余掩码
【发布时间】:2020-09-05 14:56:34
【问题描述】:

假设我有一个二维数组:

main = np.random.random((300, 200))

我有两个用于这个数组的掩码: 例如,

mask1 = list((np.random.randint((100), size = 50), np.random.randint((200), size = 50)))
mask2 = list((np.random.randint((20), size = 10), np.random.randint((20), size = 10)))

我想替换二维数组中的主要值,例如:

main[mask1]=2
main[mask2]=1

效果很好,但我也想用零替换所有既不是掩码 1 也不是掩码 2 的索引。

我想过这样的事情:

main[~mask1] & main[~mask2] = 0

这让我无处可去,因此感谢任何帮助!

【问题讨论】:

    标签: numpy multidimensional-array mask


    【解决方案1】:

    我认为根据您的要求,更好的方法是构造一个与main 形状相同的零填充数组,并使用mask1mask2 分配12

    main = np.zeros(main.shape)
    main[mask1]=2
    main[mask2]=1
    

    【讨论】:

      猜你喜欢
      • 2018-05-06
      • 2021-09-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多