python - 按降序排列 numpy 列表的元素

标签 python numpy sorting

如果列表按降序排序,我需要返回列表元素将具有的索引。

例如给定 np.array([2,3,1,4,5]) 我想接收 array([3,2,4,1,0] )

有没有简单的方法来获取这样的数组?

最佳答案

您想要的是元素按降序排列的排名

a = np.array([2,3,1,4,5])
sorted_indices = np.argsort(-a)
ranks = np.empty_like(sorted_indices)
ranks[sorted_indices] = np.arange(len(a))

结果:

>>> ranks
array([3, 2, 4, 1, 0])

关于python - 按降序排列 numpy 列表的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66275015/

相关文章:

python - numpy array 每个元素与矩阵相乘

javascript排序函数两个字段(条件)

sql - Microsoft SQL Server 中的自然(人类字母数字)排序

python - 如果-else if-else语句,您将如何解析标准? (使用RPLY)

python - 如何使用多处理来加速以下功能?

python - 字符串列 Pandas 数据框的中位数

python - 用python按列乘​​以两个矩阵

java - 按键对 HashMap<?,?> 进行排序

将有符号 int32 列表转换为二进制/ bool numpy 数组的 Pythonic 方法

Python 3 - 从 X509 证书中提取公钥并用它加密