python - 如何在随机化领带顺序的同时对熊猫系列的值进行排序?
问题描述
我正在使用 sort_values() 对熊猫系列中的值从最大到最小进行排序。我想知道是否有一种简单的方法可以随机化领带的顺序(?)。在这种情况下,关系的索引似乎按照作为参数给出的降序排列:
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'。但是,据我了解,他们都不会随机化领带的顺序。
我想我可以编写一个自定义函数,但很想知道是否存在某些东西。
解决方案
您可以先随机抽取 100 % 对系列进行洗牌sample
,然后对其进行排序:
s.sample(frac=1).sort_values(ascending=False)
您还可以random_state
根据需要传递参数以启动随机数生成器。
推荐阅读
- bash - 通过打开 gnome-terminal 执行脚本后无法打印用户输入
- android - 在 Android 中实现 OpenVPN
- mysql - 为什么mysql显示两次外键值
- junit - 当响应是json格式时,有什么好的方法来测试restful api吗?
- asp.net-core - .NET Framework 项目中的 .NET Core 参考是否正确?
- sql - 根据某些条件以(HH:mm:ss)格式获取两个DateAndTime的持续时间
- javascript - JavaScript String.replace 回调以检查每隔一行
- javascript - 使用注入的 Javascript 在 Chrome 中进行消息传递
- java - 将 ucs-4 转换为 ucs-2
- oauth - 如果用户尚未使用 OAuth 2.0 登录,我如何将用户重定向到登录页面或其他页面