获取 numpy 中另一个列表中元素的索引

问题描述 投票:0回答:2

我有两个 numpy 数组,我想获取第二个数组中第一个数组中所有元素的索引。例如:

import numpy as np
x = np.array([0,1,1,2,3,4,5,5])
y = np.array([1,3])
# want to get np.array([1,2,4]) 

如果

y
是一个标量,我就可以做
np.where(x == y)
。值数组是否有等效项?

python arrays numpy
2个回答
9
投票

您可以

numpy.where
numpy.in1d
:

>>> np.where(np.in1d(x, y))
(array([1, 2, 4]),)

0
投票

新代码中推荐的方法是使用 isin 而不是

in1d
,

np.where(np.isin(x, y))

还给出 (array([1, 2, 4]),)

© www.soinside.com 2019 - 2024. All rights reserved.