如何根据条件删除重复项? 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
所以我有一个看起来像这样的 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