Numpy数组掩码(Python)[重复]

dsekswqp  于 2023-02-12  发布在  Python
关注(0)|答案(2)|浏览(142)
    • 此问题在此处已有答案**:

check for identical rows in different numpy arrays(7个答案)
10天前关闭。
我想用numpy数组掩码问一个问题。
例如,给定以下数组:

a b
 1 2
 3 4
 5 6
 6 5

我有另一个数组

a b
 1 2
 3 4

我想比较两个数组,找出第二个数组在第一个数组中的索引号。
例如,解应为index=[0,1]
我试过了

np.where np.where(~(np.abs(a - b[:,None]).sum(-1)==0).any(0))

但没有给出最终结果
谢谢你的建议!

ny6fqffe

ny6fqffe1#

基于Broadcasting的可能解决方案,其中ar1ar2分别是两个数组:

np.nonzero(np.any(np.all(ar1 == ar2[:,None], axis=2), axis=0))[0]

输出:

array([0, 1])
dphi5xsq

dphi5xsq2#

a = np.array([[1,2],[3,4],[5,6],[6,5]])
b = np.array([[1,2],[3,4]])

np.where(np.all(a == b[:,None], axis=2))[1] # np.array([0,1])

相关问题