我有一个二维NumPy数组a和一个列表/集合/一维NumPy数组b。我想找到包含b任意元素的行,即: import numpy as np a = np.array([ [1, 2, 3], [4, 5, 3], [0, 1, 0] ]) b = np.array([1, 2]) # result: [True, False, True] 任何提示?
您可以使用np.in1d方法,在所有元素中查找与b中任何元素匹配的结果。现在,np.in1d会展开数组,因此我们需要在之后重新整形。最后,由于我们想要在每行中找到任何匹配项,所以我们需要在每行上使用np.any。因此,我们的实现看起来像这样 -np.in1d(a,b).reshape(a.shape).any(axis=1)