如何在NumPy数组中获得N个最大值的索引?NumPy提出了一种方法,通过np.argmax.我想要一个类似的东西,但是返回N最大值。例如,如果我有一个数组,[1, 3, 2, 4, 5], function(array, n=3)会返回指数[4, 3, 1]与元素对应的[5, 4, 3].
3 回答
米琪卡哇伊
TA贡献1998条经验 获得超6个赞
argpartition
>>> a = np.array([9, 4, 4, 3, 3, 9, 0, 4, 6, 0])>>> a array([9, 4, 4, 3, 3, 9, 0, 4, 6, 0])>>> ind = np.argpartition(a, -4)[-4:]>>> ind array([1, 5, 8, 0])>>> a[ind]array([4, 9, 6, 9])
argsort
a[ind]
>>> ind[np.argsort(a[ind])]array([1, 8, 5, 0])
添加回答
举报
0/150
提交
取消