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

  统计/机器学习 Python    浏览次数: 82
0

如果有一个list

[2, 8, 4, 6]

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

[4, 1, 3, 2]

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

 

幽幽草人   2018-11-18 13:00



   1个回答 
4

用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面经 问答 实战

淡淡的   2018-11-18 13:44



  相关主题

获取DataFrame所占空间的大小   2回答

怎么合并(串联)两个dataframe?   1回答

用python生成一个取值在a到b之间的随机矩阵   1回答

怎么让DataFrame按照某一列绝对值从小到按排列?   1回答

python里有没有类似matlab里linspace的功能?   2回答

map lambda if逗号报错,invalid syntax   1回答

python里有没有类似excel里的那种数据透视表?   1回答

python怎么读取txt格式的数据文件?   1回答

pymongo多线程报错Address already in use   1回答

引用报错ImportError: No module named stats   1回答

Jupyter中InteractiveShell.ast_node_interactivity = "all"有什么用?   1回答

python里的continue是什么意思   2回答



回答问题时需要注意什么?

我们谢绝在回答前讲“生动”的故事。

我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。

我们谢绝答非所问。

我们谢绝自己不会、硬要回答。

我们感激每一个用户在编写答案时的努力与付出!