[英]How to sort a pandas Series on values while randomizing the order of ties?
我正在使用 sort_values() 从最大到最小对 pandas 系列中的值进行排序。 我想知道是否有一种简单的方法可以随机化领带的顺序(?)。 在这种情况下,关系的索引似乎按照作为参数给出的降序排列:
s = pd.Series([3.0, 15.0, 1.0, 22.0, 11.0, 12.0, 2.0, 5.0, 3.0, 12.0, 2.0, 3.0])
s.sort_values(ascending=False)
出去:
3 22.0
1 15.0
9 12.0
5 12.0
4 11.0
7 5.0
11 3.0
8 3.0
0 3.0
10 2.0
6 2.0
2 1.0
我已经阅读了可以作为参数给出不同种类的排序的文档:'quicksort'、'mergesort'、'heapsort'。 但是,据我了解,他们都不会随机化领带的顺序。
我想我可以编写一个自定义的 function,但很想知道是否存在某些东西。
您可以先随机抽取 100% sample
,然后对其进行排序:
s.sample(frac=1).sort_values(ascending=False)
您还可以根据需要传递random_state
参数来启动随机数生成器。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.