【发布时间】:2021-06-10 02:54:10
【问题描述】:
我面临需要处理付款和可能的撤销的情况。
当我将SUPPLIER 与DOC_ID 连接时,我有一个可以识别行是否重复的键。考虑到这一点,我想:
- 如果键重复且重复行数为偶数,则从数据集中删除行。
- 如果键重复并且重复行数为奇数,则保留最后一个条目并删除其他重复值。
数据示例:
INDEX SUPPLIER DOC_ID VALUE
1 AAA A -539
2 OOO B -946
3 NNN C -320
4 HHH D -117
5 HHH D 117
6 OOO E -741
7 AAA F -165
8 ZZZ G -103
9 ZZZ G 103
10 ZZZ G -103
11 BBB H -504
在上面的数据集中,名称为 H 的 SUPPLIER 有 2 行重复。这些行需要删除,因为它们相互抵消(-117+117=0)。
另一方面,名称ZZZ 的SUPPLIER 有3 行重复。我需要保留最后一个条目,因为它是唯一有效的。其他人正在互相取消。
想要的输出:
INDEX SUPPLIER DOC_ID VALUE
1 AAA A -539
2 OOO B -946
3 NNN C -320
6 OOO E -741
7 AAA F -165
10 ZZZ G -103
11 BBB H -504
【问题讨论】:
标签: python python-3.x pandas dataframe duplicates