如何获得一个numpy ndarray中的每行N个最大值?

PSN*_*SNR 7 python numpy

我们知道当N = 1时该怎么做

import numpy as np

m = np.arange(15).reshape(3, 5)
m[xrange(len(m)), m.argmax(axis=1)]    # array([ 4,  9, 14])
Run Code Online (Sandbox Code Playgroud)

当N> 1时,获得最高N的最佳方法是什么?(比方说5)

Jul*_*les 2

为什么不做类似的事情:

np.sort(m)[:,-N:]
Run Code Online (Sandbox Code Playgroud)