我试图在 Python 中找到一种方法来删除特定列中出现重复的行,但只删除那些不属于最新日期的重复项。
在下面的示例中,我想删除“CODE”和“BC”匹配的行,但前提是它们不是最近的日期。如果 'CODE' 和 'BC' 匹配并且两者具有相同的日期,则将删除具有最低 'ID' 编号的行。
| 代码 | 公元前 | 日期 | ID |
|---|---|---|---|
| 12345 | 567 | 2017 年 1 月 1 日 | 111 |
| 12345 | 567 | 2017 年 1 月 1 日 | 111 |
| 12345 | 567 | 2018 年 10 月 1 日 | 555 |
| 12345 | 567 | 2018 年 10 月 1 日 | 555 |
| 12345 | 789 | 2017 年 3 月 16 日 | 777 |
| 12345 | 789 | 2021 年 9 月 17 日 | 888 |
| 23456 | 354 | 2020 年 10 月 21 日 | 333 |
| 23456 | 354 | 2020 年 10 月 21 日 | 444 |
理想结果:
| 代码 | 公元前 | 日期 | ID |
|---|---|---|---|
| 12345 | 567 | 2018 年 10 月 1 日 | 555 |
| 12345 | 567 | 2018 年 10 月 1 日 | 555 |
| 12345 | 789 | 2021 年 9 月 17 日 | 888 |
| 23456 | 354 | 2020 年 10 月 21 日 | 444 |
谢谢