2010-08-16 311 views
1

我想从numpy数组中的每一行检索k最大值。我一直在挖掘文档,但找不到答案(我可能在错误的地方查找)。有没有人有一个简单的代码片段来做到这一点?Numpy:如何从每一行检索k最大值?

感谢这么多,

Diederik

+1

也许我忽视的东西,但不会一个简单的排序和下面的切片就足够了? – Wolph 2010-08-16 21:45:03

+0

是的,没有想到(我知道我忽略了一些东西:)),如果你把它作为答案发布,那么我会给你信用。 – DrDee 2010-08-16 21:47:23

回答

1

这里有一个简单的解决方案:

some_array = numpy.random.randint(0, 10, 10) 
top_items = numpy.sort(some_array)[-k:] 

或者作为拉姆达:

max_values = lambda k, array: numpy.sort(array)[-k:] 
+0

不应该是'np.sort(some_array)[:, - k:]'? – 2012-08-25 14:58:58