亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 pandas 中對一列的條件進行分組并按原樣獲取其他列的記錄

在 pandas 中對一列的條件進行分組并按原樣獲取其他列的記錄

慕田峪4524236 2023-08-15 16:50:03
所以我的數據框看起來像這樣 -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


查看完整回答
反對 回復 2023-08-15
  • 1 回答
  • 0 關注
  • 114 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號