所以我的数据框看起来像这样 -ORD_ID|TIME|VOL|VOL_DSCL|SMBL|EXPABC123|2020-05-18 09:01:35|30|10|CHH|2020-05-20DEF123|2020-05-18 09:04:35|50|20|CHH|2020-06-19ABC123|2020-05-18 09:06:45|20|10|CHH|2020-05-20PQR333|2020-05-18 09:13:12|50|10|SSS|2020-06-19DEF123|2020-05-18 09:24:35|20|20|CHH|2020-06-19PQR333|2020-05-18 09:26:23|0|0|SSS|2020-06-19我想按 ORD_ID 分组。并获取该 ORD_ID 的最后一个记录(不对其他列执行任何聚合函数)。即所需的输出是 -ORD_ID|TIME|VOL|VOL_DSCL|SMBL|EXPABC123|2020-05-18 09:06:45|20|10|CHH|2020-05-20DEF123|2020-05-18 09:24:35|20|20|CHH|2020-06-19PQR333|2020-05-18 09:26:23|0|0|SSS|2020-06-19如何才能实现这一目标?(因此只有 TIME 中每个唯一 ORD_ID 的最后一条记录)
1 回答
慕标5832272
TA贡献1966条经验 获得超4个赞
你不需要groupby,drop_duplicates会做:
df.sort_values('TIME').drop_duplicates('ORD_ID',keep='last')
或者如果你真的想要 groupby:
df.groupby('ORD_ID').tail(1)
输出:
ORD_ID TIME VOL VOL_DSCL SMBL EXP
2 ABC123 2020-05-18 09:06:45 20 10 CHH 2020-05-20
4 DEF123 2020-05-18 09:24:35 20 20 CHH 2020-06-19
5 PQR333 2020-05-18 09:26:23 0 0 SSS 2020-06-19
添加回答
举报
0/150
提交
取消