在另一个2d数组中查找numpy 2d数组行的索引
我是numpy的新手。 我有两个二维数组。我想在arr1中找到arr2的索引。请告诉我在另一个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
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])