首页 > 解决方案 > 如何仅过滤掉最后一个排名?

问题描述

我有一个数据集,其中对于每个 unique OrderID,产品的状态都会随着时间的推移而发生变化,并且会记录每个变化的时间。

我已经对所有记录进行了分组OrderID并对其进行了排名。我现在只想要每个排名最后的记录OrderID

Grouped = sortedOrdersAll.sort_values(['ordid','DateTime'],ascending=True).groupby(['ordid','DateTime']) 

Grouped.first()

排名和分组

标签: pythonjupyter-notebook

解决方案


不使用 groupby 我认为你可以做到这一点

df.sort_values('DateTime').drop_duplicates(subset=['ordid'], keep='last')

推荐阅读