有没有一种聪明的方法可以使用 numpy
查找矩阵中值列表的索引?我们总是可以通过迭代的方式来完成,但是有没有快速快捷的方法可用?
我们有一个矩阵:
[[1,2,3],[4,5,6],[7,8,9],[10,11,12]]
和一个列表:
[3,4,7,11]
这里需要的是3,4,7,11在矩阵对应行的索引,即[2,0,0,1]
。
这显然是用迭代方法编写的简单代码,但我们正在寻找任何现成的实现。
提前致谢。
最佳答案
对于您的示例,这是可行的:
In [17]: import numpy as np
In [18]: a = np.array([[1,2,3],[4,5,6],[7,8,9],[10,11,12]])
In [19]: l = [3,4,7,11]
In [20]: np.where(a == np.array(l)[:, None])[1]
Out[20]: array([2, 0, 0, 1])
关于python - 从 numpy 矩阵中查找值列表的行索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47900463/