使用 argsort 函数快速找到一维数组中前 p 个最大值

在 Python 中,我们可以使用 argsort 函数快速高效地找到一维数组中前 p 个最大值。

示例代码:

import numpy as np

# 生成一个包含 100 个随机整数的数组
Z = np.random.randint(1, 100, 100)
print(Z)

# 设置要查找的元素数量
p = 5

# 使用 argsort 函数获取排序后的索引
Z[np.argsort(Z)[-p:]]

为什么这里用 argsort 而不是 sort

这里使用'argsort' 而不是'sort' 是因为'argsort' 函数返回的是数组中元素排序后的索引值,而不是实际排序后的数组。通过使用'argsort' 函数,可以获取到数组中元素排序后的索引值,然后再根据这些索引值从原数组中取出前 p 个最大值。

总结

argsort 函数为我们在 Python 数组中查找前 p 个最大值提供了一种高效便捷的方法。相比直接使用 sort 函数,argsort 函数可以避免对整个数组进行排序,从而提高效率。

Python 数组中快速查找前 p 个最大值:argsort 函数应用

原文地址: http://www.cveoy.top/t/topic/pghR 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录