python - 如何计算多维数组中的 N 个最大元素?

标签 python arrays sorting numpy

numpy 可以计算多维数组中的 N 个最大元素吗? 说:

import numpy as np
a=[1,2,3]
b=a.max(num_of_max_elements=2) #I know it won't work, and I want it to be 2 and 3

最佳答案

最简单的方法是排序,然后使用最后的n 个数字。这也可以在不改变原始数组的情况下完成。下面是如何在 10x10 数组中查找最大 10 个数字的示例:

a = numpy.random.randint(1000, size=100).reshape(10, 10)
indices = a.ravel().argsort()
print a.ravel()[indices[-10:]]

此代码打印类似内容

array([909, 917, 926, 936, 952, 960, 961, 964, 969, 993])

关于python - 如何计算多维数组中的 N 个最大元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10147212/

相关文章:

python - 替换 %variables% 的正则表达式

python - 我正在尝试通过在 Python 中组合 3 个列表来创建 3D 点列表

Python 正则表达式

php - 如何用php从json数组中提取数据?

python - 除了所有输入数据之外,还将 re.findall() 输出到 CSV

javascript - 如何返回不匹配的单词?

ruby - 将数字读入 ruby​​ 中的数组

java - 使用另一个列表对一个列表进行排序。根据第二个列表交换项目

c# - 这种并行排序合并是否正确实现?

c# - OrderBy 可以为一个元素多次评估委托(delegate)吗?