【发布时间】:2021-09-15 21:08:47
【问题描述】:
是否有解决以下问题的 pandas 方法?有一个包含许多列的数据框,包括“时间”和“事件ID”。首先,我想按“eventid”对数据框进行分组。每个“eventid”可能与多个“时间”相关联。然后我需要按每个组的最早“时间”对“eventid”组进行排序(组内的顺序并不重要)。比如我的输入是这样的:
| eventid | time |
|---|---|
| 1 | 9:10 |
| 2 | 9:20 |
| 1 | 9:30 |
| 3 | 9:40 |
| 3 | 9:50 |
| 2 | 9:00 |
我想要的输出是这样的:
| eventid | time |
|---|---|
| 2 | 9:00 |
| 2 | 9:20 |
| 1 | 9:30 |
| 1 | 9:10 |
| 3 | 9:50 |
| 3 | 9:40 |
我尝试过df.sort_values(by=['time','eventid']) 和df.groupby,但在这种情况下可能是错误的。另一种方法是按“时间”排序,然后查询并重写数据框。但是由于原始数据很大,所以需要花费太多时间。
我之前找不到类似的问题。非常感谢您提供可能的解决方案。
【问题讨论】: