如何以特定方式删除重复项:
Index B C
1 2 1
2 2 0
3 3 1
4 3 1
5 4 0
6 4 0
7 4 0
8 5 1
9 5 0
10 5 1
所需的输出:
Index B C
3 3 1
5 4 0
因此在B上删除重复项,但如果C在所有行上都相同,则保留一个样本/记录。
例如,对于索引3/4,B = 3,但是由于对于两个索引,C = 1,所以我不会全部销毁它们
但是例如对于索引8/9/10,B = 5,因为C = 1或0,它会被破坏。
答案 0 :(得分:1)
尝试将transform
与nunique
和drop_duplicates
结合使用:
df[df.groupby('B')['C'].transform('nunique') == 1].drop_duplicates(subset='B')
输出:
B C
Index
3 3 1
5 4 0