python - 如何仅过滤掉最后一个排名?
问题描述
我有一个数据集,其中对于每个 unique OrderID
,产品的状态都会随着时间的推移而发生变化,并且会记录每个变化的时间。
我已经对所有记录进行了分组OrderID
并对其进行了排名。我现在只想要每个排名最后的记录OrderID
。
Grouped = sortedOrdersAll.sort_values(['ordid','DateTime'],ascending=True).groupby(['ordid','DateTime'])
Grouped.first()
解决方案
不使用 groupby 我认为你可以做到这一点
df.sort_values('DateTime').drop_duplicates(subset=['ordid'], keep='last')
推荐阅读
- spring - 将值设置为 Common DTO
- javascript - Javascript自调用函数
- javascript - 谷歌云功能:为什么这不起作用?
- ubuntu - 无法建立 SSL 连接 - Ubuntu - Wget
- ruby-on-rails - Puma 启动但不创建进程
- javascript - 反应子状态与道具
- ios - 临时覆盖约束
- single-sign-on - 使用 OKTA 进行 SSO,无需在 OIN 上创建应用程序(独立于客户端 ID)
- ios - UNUserNotificationCenter.add 未在 iOS 共享扩展中完成
- javascript - Kaltura listAction 也返回 contextData