python numpy输出排名
2021-03-31 00:27
标签:数据 排序 import 解决问题 使用 python tab one code 假设某班的成绩为: 请根据表格,输出对应的名次 numpy.argsort(a, axis=-1, kind=’quicksort’, order=None) 功能: 将矩阵a按照axis排序,并返回排序后的下标 编写python程序如下,使用两次 补全表格即可: python numpy输出排名 标签:数据 排序 import 解决问题 使用 python tab one code 原文地址:https://www.cnblogs.com/aminor/p/13573878.htmlpython numpy排序后输出排名
问题:
姓名
成绩
名次
小红
95
小黑
67
小白
58
小绿
82
小蓝
76
小橙
79
小可爱
99
程序:
参数: a:输入矩阵, axis:需要排序的维度
返回值: 输出排序后的下标np.argsort()
即可解决问题import numpy as np
grade = np.array([95,67,59,82,76,79,99]) # 源数据
index = np.argsort(-grade) # 排序后的索引(负号为降序排列)
rank = np.argsort(index) # 名次
print(rank + 1)
输出:
Out[24]:array([2, 6, 7, 3, 5, 4, 1], dtype=int64)
姓名
成绩
名次
小红
95
2
小黑
67
6
小白
58
7
小绿
82
3
小蓝
76
5
小橙
79
4
小可爱
99
1