python - 如何对多个值的熊猫数据框进行排序
问题描述
我有以下熊猫数据框
Code Date Tank Hourly_bucket
0 2018-08-01 1 00:00:01 - 00:30:00
7 2018-08-02 1 08:00:01 - 08:30:00
8 2018-08-02 1 09:00:00 - 09:30:00
1 2018-08-01 1 04:30:01 - 05:00:00
2 2018-08-01 2 01:00:01 - 01:30:00
5 2018-08-01 2 10:00:01 - 10:30:00
6 2018-08-01 2 11:00:01 - 11:30:00
我想通过Date,Tank and Hourly_bucket
以下方式排列数据框是我想要的数据框
Code Date Tank Hourly_bucket
0 2018-08-01 1 00:00:01 - 00:30:00
1 2018-08-01 1 04:30:01 - 05:00:00
2 2018-08-01 2 01:00:01 - 01:30:00
5 2018-08-01 2 10:00:01 - 10:30:00
7 2018-08-01 2 11:00:01 - 11:30:00
4 2018-08-02 1 00:00:00 - 00:30:00
8 2018-08-02 1 08:00:01 - 08:30:00
我努力了
df.sort_values(['Tank','Hourly_bucket','Date'], ascending = True)
但是,它没有给我想要的输出。
解决方案
我认为最好的方法是确保将 df.Date 和 df.Hourly_bucket 作为日期时间系列处理。然后你必须设置 inplace = True 否则,修改将不会被保存。
df.Hourly_bucket = df.Hourly_bucket.str.slice(0, 8)
df.Hourly_bucket = pd.to_datetime(df.Hourly_bucket)
df.Date = pd.to_datetime(df.Date)
df.sort_values(['Date', 'Tank','Hourly_bucket'], ascending =True, inplace=True)
推荐阅读
- facebook - 如何实现 Graph-API 来获取 Facebook Workplace 的数据
- python - 如何使用正则表达式解释字符串?
- javascript - 单击一行获取该特定行的数据
- sql-server - 检查 t-SQL 中两个日期之间的差异
- git - 如何在 gitbash 中停止正在运行的进程
- c# - 如何检查解决方案目录中是否存在文本文件?
- scala - 如何在 Scala/Spark 中将文件从 Hadoop (hdfs) 复制到远程 SFTP 服务器?
- javascript - 意外的副作用 vue
- php - 如何在多选下拉列表中加载项目以进行更新 - Laravel
- css - react js中react-id-swiper的.swiper-container和swiper-height问题?