码迷,mamicode.com
首页 > 编程语言 > 详细

python numpy输出排名

时间:2020-09-07 18:57:20      阅读:83      评论:0      收藏:0      [点我收藏+]

标签:数据   排序   import   解决问题   使用   python   tab   one   code   

python numpy排序后输出排名

问题:

假设某班的成绩为:

姓名 成绩 名次
小红 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

python numpy输出排名

标签:数据   排序   import   解决问题   使用   python   tab   one   code   

原文地址:https://www.cnblogs.com/aminor/p/13573878.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!