在另一个2d数组中查找numpy 2d数组行的索引

在另一个2d数组中查找numpy 2d数组行的索引,numpy,numpy-ndarray,Numpy,Numpy Ndarray,我是numpy的新手。 我有两个二维数组。我想在arr1中找到arr2的索引。请告诉我 arr1 = [[1, 2, 3], [4, 5, 6], [7, 8, 9], [4, 5, 6], [1, 2, 3]] arr2 = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] desired_outp

我是numpy的新手。 我有两个二维数组。我想在arr1中找到arr2的索引。请告诉我

    arr1 = [[1, 2, 3],
            [4, 5, 6],
            [7, 8, 9],
            [4, 5, 6],
            [1, 2, 3]]

    arr2 = [[1, 2, 3],
            [4, 5, 6],
            [7, 8, 9]]
    
    desired_output = [0, 1, 2, 1, 0]

实现这一目标的一种方法

如果在
arr2
中未找到
arr1
的任何一行,则为简单起见,
pos
中的该位置将具有值
-1

这大量使用numpy和。请随时要求进一步澄清

原始示例:

将numpy导入为np
arr1=np.array([[1,2,3],
[4, 5, 6],
[7, 8, 9],
[4, 5, 6],
[1, 2, 3]])
arr2=np.array([[1,2,3],
[4, 5, 6],
[7, 8, 9]])
inds=arr1==arr2[:,无]
行总和=独立总和(轴=2)
i、 j=np。其中(行总和=3)#检查所有3列中哪些行匹配
pos=np.one(arr1.shape[0],dtype='int64')*-1
pos[j]=i
销售时点情报系统
示例2:

将numpy导入为np
arr1=np.array([[1,2,4],
[4, 5, 6],
[7, 8, 9],
[4, 1, 6],
[1, 2, 3]])
arr2=np.array([[1,2,3],
[4, 5, 6],
[7, 8, 9]])
inds=arr1==arr2[:,无]
行总和=独立总和(轴=2)
i、 j=np.其中(行和=3)
pos=np.one(arr1.shape[0],dtype='int64')*-1
pos[j]=i
销售时点情报系统

如果有更多的列,只需将行
i,j=np.where(row\u sums==3)
更改为
i,j=np.where(row\u sums==arr1.shape[1])

非常感谢,这正是我需要的
array([0, 1, 2, 1, 0])
array([-1,  1,  2, -1,  0])