Python numpy,其中在非排序数组上
我想找到匹配列表的numpy数组中元素的索引。我的数组没有排序。到现在为止,我正在使用下面的代码Python numpy,其中在非排序数组上,python,python-3.x,numpy,Python,Python 3.x,Numpy,我想找到匹配列表的numpy数组中元素的索引。我的数组没有排序。到现在为止,我正在使用下面的代码 Y = np.array([ 2,2,1,1,3,1,3,2,-1,-1]) indcs = [np.where(Y == c)[0] for c in range(1,4)] INDC [数组([2,3,5]),数组([0,1,7]),数组([4,6])] 但是我觉得对于每个要作为行搜索的值,有一种更好的方法来获得结果,而不是简单地使用for循环进行迭代。有人能帮忙吗?这段代码可能会对您有所帮助
Y = np.array([ 2,2,1,1,3,1,3,2,-1,-1])
indcs = [np.where(Y == c)[0] for c in range(1,4)]
INDC
[数组([2,3,5]),数组([0,1,7]),数组([4,6])]
但是我觉得对于每个要作为行搜索的值,有一种更好的方法来获得结果,而不是简单地使用for循环进行迭代。有人能帮忙吗?这段代码可能会对您有所帮助
indices=[i for i,v in enumerate(Y.tolist()) if v in range(0,4)]
您是否尝试过
numpy.isin
,获取完整的索引列表(但不是数组列表)可能会有所帮助。