(再一次)看起来微不足道,但让我感到难过。
我需要在numpy数组中找到多个值的索引。我可以使用where
和isin
进行此操作,但是无论找到多少索引,结果答案的长度始终为1。例子
import numpy as np
a = [1,3,5,7,9,11,13,15]
b = [1,7,13]
x = np.where(np.isin(a,b))
print(x)
print(len(x))
这将返回
(array([0, 3, 6]),)
1
我认为是因为数组是元组中的单个项目。如何只返回数组?
答案 0 :(得分:1)
只需使用
x = np.where(np.isin(a,b))[0]
达到您的期望。
正如hpaulj在注释中指出的那样,where
对于每个输入数组维返回一个具有一个数组的元组,在这种情况下,只有一个,这就是x
是长度为1的元组的原因。