标签:数据 排序 import 解决问题 使用 python tab one code
假设某班的成绩为:
姓名 | 成绩 | 名次 |
---|---|---|
小红 | 95 | |
小黑 | 67 | |
小白 | 58 | |
小绿 | 82 | |
小蓝 | 76 | |
小橙 | 79 | |
小可爱 | 99 |
请根据表格,输出对应的名次
numpy.argsort(a, axis=-1, kind=’quicksort’, order=None)
功能: 将矩阵a按照axis排序,并返回排序后的下标
参数: a:输入矩阵, axis:需要排序的维度
返回值: 输出排序后的下标
编写python程序如下,使用两次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 |
标签:数据 排序 import 解决问题 使用 python tab one code
原文地址:https://www.cnblogs.com/aminor/p/13573878.html