在numpy数组中查找多个元素的索引

4

给定一个整数数组,我需要找到存储在另一个数组中的许多元素的索引。这是:

import numpy as np
a1 = np.array([ 4, 5, 6, 1, 2, 3, 7, 86, 9, 15])
a2 = np.array([ 2, 3, 5, 6, 9])

a1是我的初始元素数组,a2是包含我需要在a1中获取其索引的元素的数组。

在这种情况下,结果应该是:

a3 = ([4, 5, 1, 2, 8])

这似乎是一项相当简单的操作,但我一直没有能够弄清如何完成。

确实,这看起来像那个问题的副本。很抱歉我错过了它。 - Gabriel
1个回答

6

你可以尝试这个:

In [378]: (a1[:, None] == a2).argmax(axis=0)
Out[378]: array([4, 5, 1, 2, 8], dtype=int64)

2
这个解决方案可行,但比 https://dev59.com/h1wX5IYBdhLWcg3wjgCf 中给出的 np.nonzero(a2[:, None] == a1)[1] 慢得多。 - Gabriel

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接