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

  统计/机器学习 Python    浏览次数: 271
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



  相关主题

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

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

python里list的remove和pop方法的时间复杂度是多少?   1回答

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

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

二维numpy.array转为一维的numpy.array或者list   2回答

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

怎么在jupyter notebook里查看python的版本?   1回答

怎么把python的dict存为json格式文件   2回答

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

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

python里的cdef是什么?   1回答



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

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

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

我们谢绝答非所问。

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

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