我有带有时间戳的数据。我想按时间顺序列出数据,但每个"id“分别列出。因此,为id=2按升序放置时间戳。当到达最后一个id=2条目时,开始列出id=3条目,等等。
数据:
df
timestamp id value
2022-10-10 00:00 2 221
2022-10-10 00:00 3 189
2022-10-10 00:05 8 140
...
2022-10-19 15:14 2 143
2022-10-19 16:43 8 99期望产出:
df
timestamp id value
2022-10-10 00:00 2 221
.... 2
2022-10-19 15:14 2 143
2022-10-10 00:00 3 189
.... 3
2022-10-11 21:32 3 202
2022-10-10 00:05 8 140
... 8
2022-10-19 16:43 8 99我怎样才能做到这一点?
发布于 2022-11-09 19:25:35
您可以使用groupby和sort_values来实现这一点。
df = df.groupby(['id'])
sorted_df = df.apply(lambda x: x.sort_values(ascending=False))如果您只对顶级值感兴趣,也可以使用.head()函数。
祝好运!
https://stackoverflow.com/questions/74379796
复制相似问题