如何查找 NumPy 数组中前 N 个最大值的索引?
使用 NumPy 查找多个最大值
NumPy 数组提供各种统计操作函数,包括使用 np.argmax 查找单个最大值。但是,对于需要识别前 N 个最大值的场景,np.argmax 无法满足特定要求。
解决方案:在较新的 NumPy 版本中使用 np.argpartition
在 NumPy 1.8 及更高版本中,np.argpartition 函数为这个问题提供了解决方案。通过使用此函数,您可以获得 N 个最大元素的索引。
例如,考虑一个数组 [1, 3, 2, 4, 5]。要检索四个最大元素的索引:
import numpy as np a = np.array([9, 4, 4, 3, 3, 9, 0, 4, 6, 0]) ind = np.argpartition(a, -4)[-4:] top_four = a[ind]
这将产生以下输出:
array([1, 5, 8, 0]) array([4, 9, 6, 9])
其中 'ind' 代表四个最大元素的索引,并且'top_four' 是对应的值。
对有序索引进行排序输出
如果需要,您可以通过对相应的数组元素调用 np.argsort 来进一步对索引进行排序:
sorted_ind = ind[np.argsort(a[ind])]
这确保在中获得前 k 个元素排序顺序,时间复杂度为 O(n k log k)。
以上是如何查找 NumPy 数组中前 N 个最大值的索引?的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

使用FiddlerEverywhere进行中间人读取时如何避免被检测到当你使用FiddlerEverywhere...

如何在10小时内教计算机小白编程基础?如果你只有10个小时来教计算机小白一些编程知识,你会选择教些什么�...

攻克Investing.com的反爬虫策略许多人尝试爬取Investing.com(https://cn.investing.com/news/latest-news)的新闻数据时,常常�...

Python3.6环境下加载pickle文件报错:ModuleNotFoundError:Nomodulenamed...

使用Scapy爬虫时管道文件无法写入的原因探讨在学习和使用Scapy爬虫进行数据持久化存储时,可能会遇到管道文�...
