在 2D 数组的 numpy 中找到 2 个掩码之间的剩余掩码
Find the remainder mask between 2 masks in numpy for 2D array
假设我有一个二维数组:
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
这让我无处可去,所以非常感谢您的帮助!
我认为根据您的要求,更好的方法是构造一个与 main
形状相同的零填充数组,并使用 mask1
和 [=15 分配 1
和 2
=]
main = np.zeros(main.shape)
main[mask1]=2
main[mask2]=1
假设我有一个二维数组:
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
这让我无处可去,所以非常感谢您的帮助!
我认为根据您的要求,更好的方法是构造一个与 main
形状相同的零填充数组,并使用 mask1
和 [=15 分配 1
和 2
=]
main = np.zeros(main.shape)
main[mask1]=2
main[mask2]=1