【发布时间】:2020-07-17 17:51:01
【问题描述】:
假设我有一个数组:
a = np.array([1,2,3,4,5])
现在我想在这个数组中找到与另一个数组输入给出的值相对应的元素的索引:
input = np.array([2,4,5])
预期的结果应该是:
result = [1,3,4]
一个布尔掩码,对于元素索引 1,3,4 也是正确的。
我不想使用循环来解决这个问题。我假设一个可能的解决方案与 numpy where() 函数有关,但是使用这个函数,我一次只能将数组 a 的条目与数组输入的一个元素进行比较。因为输入的长度可能不同,所以我不能真正使用这种方法。您还有其他想法吗?
提前致谢。
【问题讨论】:
-
你的阵列是一维的吗?
-
np.flatnonzero(np.in1d(a, input))