如何根据条件删除重复项? Python/Pandas

How do I delete duplicates based on a condition? Python/Pandas

所以我有一个看起来像这样的 df:

Person_ID    Procedure_ID   Date(d/m/y)
34           30             03/03/2011
34           30             02/03/2011
32           19             01/01/2020
34           32             01/04/2012

如果 Person_ID 具有两次或更多次相同的过程,如上面的 34 - 30 情况,代码只需要保留最新的行,删除所有其他行。在我给出的示例中,预期结果为:

Person_ID    Procedure_ID   Date(d/m/y)
34           30             02/03/2011
32           19             01/01/2020
34           32             01/04/2012

提前致谢!

Groupby 'Person_ID', 'Procedure_ID' 并从每个组中获取最后一个元素。

代码

df.sort_values(by='Date(d/m/y)').groupby(['Person_ID', 'Procedure_ID'], as_index=False).last()

输出

Person_ID   Procedure_ID    Date(d/m/y)
0   32      19              01/01/2020
1   34      30              02/03/2011
2   34      32              01/04/2012