我有以下 pandas 数据框
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
我想按日期、Tank 和 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)
关于python - 如何根据多个值对 pandas 数据框进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52456905/