将数组与Numpy中的行匹配

将数组与Numpy中的行匹配,numpy,pattern-matching,Numpy,Pattern Matching,我有一个形状为(50,3)的数组“A”和另一个形状为(1,3)的数组“B” 实际上,B是a中的一行,所以我需要找到它的行位置 我使用了np.where(A==B),但它给出了元素搜索的位置。例如,下面是我得到的结果: >>> np.where(A == B) (array([ 3, 3, 3, 30, 37, 44]), array([0, 1, 2, 1, 2, 0])) 实际上,B是A中的第四行(在我的例子中)。但上面的结果给出了(3,0)(3,1)(3,2)和其他,

我有一个形状为(50,3)的数组“A”和另一个形状为(1,3)的数组“B”

实际上,B是a中的一行,所以我需要找到它的行位置

我使用了
np.where(A==B)
,但它给出了元素搜索的位置。例如,下面是我得到的结果:

>>> np.where(A == B)
(array([ 3,  3,  3, 30, 37, 44]), array([0, 1, 2, 1, 2, 0]))
实际上,B是A中的第四行(在我的例子中)。但上面的结果给出了(3,0)(3,1)(3,2)和其他,它们是按元素匹配的

与此相反,我需要一个答案“3”,这是当B作为一个整体搜索A时得到的答案,它还删除了其他类似(30,1)(37,2)。。。这是部分匹配

在努比我怎么做


谢谢。

您可以指定轴:

numpy.where((A == B).all(axis=1))

请注意,它是numpy.all()的一个参数,而不是numpy.where()。