我有一个形状为'A'的形状(50,3)和另一个形状为'B'的形状(1,3)。
实际上这个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中的第4行(在我的例子中)。但是上面的结果给出了(3,0)(3,1)(3,2)和其他,它们是元素相匹配的。
而不是这个,我需要一个答案'3',这是当B在A中作为一个整体搜索时获得的答案,它也删除了其他像(30,1)(37,2)......这些是部分匹配
我怎么能在Numpy中做到这一点?
谢谢。
答案 0 :(得分:11)
您可以指定轴:
numpy.where((A == B).all(axis=1))