NumPy 提出了一种通过 np.argmax
数组最大值索引的方法。
我想要类似的东西,但返回 N
最大值的索引。
For instance, if I have an array, [1, 3, 2, 4, 5]
, then nargmax(array, n=3)
would return the indices [4, 3, 1]
which correspond to the elements [5, 4, 3]
.
原文由 Alexis Métaireau 发布,翻译遵循 CC BY-SA 4.0 许可协议
较新的 NumPy 版本(1.8 及更高版本)为此有一个名为
argpartition
的函数。要获得四个最大元素的索引,请执行与
argsort
不同,此函数在最坏的情况下以线性时间运行,但返回的索引未排序,从评估结果可以看出a[ind]
。如果您也需要,请在之后对它们进行排序:以这种方式按排序顺序获取前 k 个元素需要 O( n + k log k ) 时间。