返回python list里各个元素的大小排序?

  统计/机器学习 Python    浏览次数:4301        分享
0

如果有一个list

[2, 8, 4, 6]

我想得到它们的大小次序,比如8是最大的,对应着1,6是第二大的,对应2,所以想得到

[4, 1, 3, 2]

在python里该怎么实现这个操作?

 

yooyoo   2018-11-18 13:00



   1个回答 
5

用scipy比较方便

from scipy import stats
nums = [2, 8, 4, 6]
ranks = len(nums) - stats.rankdata(nums) + 1

最后的结果ranks

array([ 4.,  1.,  3.,  2.])


SofaSofa数据科学社区DS面试题库 DS面经

淡淡的   2018-11-18 13:44



  相关讨论

python报错:'list' object has no attribute 'Angle',求教

python如何把list中的item作为变量的后缀 从而产生for中的动态变量名

python字符串形式的数值转成单个整数的list,怎么操作?

re 不能在list 或者dataframe查找?

怎么把字符串形式的list转成真的list

有nonetype的list怎么转str

python怎么对list中的元素做连乘?

如何把一个pandas的dataframe的columns转换成list

怎么把pandas dataframe中的一列转成一个list?

python里怎么把中文字符串转化为成list

  随便看看

请问在sklearn怎么在已有的模型的基础上训练新的数据?

训练集中有的特征含有缺失值,一般怎么处理

推荐开放数据库

numpy array里怎么用fillna填充nan的值?

统计里的IQR是什么意思?