使用相同形状的现有遮罩遮罩numpy阵列

时间:2020-02-08 20:54:36

标签: python arrays numpy mask

说我有一个名为的numpy数组掩码 m1 = [[False, True, False], [True, False, True]] 并且我想找到一个掩码m2 ,以便其(i,j)项为True iff j >= 0 and m1[i, j+1] == True。 关于如何实现这一目标的任何优雅而有效的想法? 谢谢

1 个答案:

答案 0 :(得分:0)

这是切片和使用二进制运算符的一种方式:

m1 = np.array([[False, True, False], [True, False, True]])

m2 = np.full(m1.shape, False)
m2[:, :-1] = m1[:, 1:] | m2[:, :-1]

print(m2)

array([[ True, False, False],
       [False,  True, False]])