我有两个大小不同的数组
a = np.array([[5, 0], [2, 4], [0, 1], [3, 4], [1, 5], [5, 6], [7, 9]])
b = np.array([[0, 3], [5, 6], [2, 5], [2, 4]])
我需要
c = np.array([False, True, False, False, False, True, False])
即数组“ b”在数组“ a”中具有行[5,6]和[2,4]。目前,我是通过
logical = np.zeros(a.shape[0]).astype(bool)
for i in range(b.shape[0]):
logical += np.all(a == b[i], axis=1)
是否有用于执行此操作的numpy代码?
答案 0 :(得分:2)
让我们尝试广播:
(a[None,:] == b[:,None]).all(-1).any(0)
输出:
array([False, True, False, False, False, True, False])