相关疑难解决方法(0)

如何在NumPy数组中获得N个最大值的索引?

NumPy提出了一种获取数组最大值索引的方法np.argmax.

我想要一个类似的东西,但返回N最大值的索引.

例如,如果我有一个数组,[1, 3, 2, 4, 5],function(array, n=3)将返回的索引[4, 3, 1]相对应的元素[5, 4, 3].

python numpy max numpy-ndarray

425
推荐指数
10
解决办法
31万
查看次数

使用Python和NumPy从矩阵中获取最小/最大n值和索引的有效方法

在给定NumPy矩阵(2D数组)的情况下,返回数组中的最小值/最大值n(及其索引)的有效方法是什么?

目前我有:

def n_max(arr, n):
    res = [(0,(0,0))]*n
    for y in xrange(len(arr)):
        for x in xrange(len(arr[y])):
            val = float(arr[y,x])
            el = (val,(y,x))
            i = bisect.bisect(res, el)
            if i > 0:
                res.insert(i, el)
                del res[0]
    return res
Run Code Online (Sandbox Code Playgroud)

这比pyopencv生成我想要运行它的数组的图像模板匹配算法要长三倍,我认为这很愚蠢.

python optimization performance numpy

10
推荐指数
2
解决办法
1万
查看次数

标签 统计

numpy ×2

python ×2

max ×1

numpy-ndarray ×1

optimization ×1

performance ×1