我有以下数据框 df
:
Col1 Col2 Val
T1 L2 1
T1 L2 1
T1 G3 3
G3 G3 4
G3 G3 6
G3 L2 7
L2 L2 8
L2 L2 9
我想得到以下内容:
Col1 Col2 Val
T1 L2 1
T1 L2 1
T1 G3 3
G3 G3 4
G3 L2 7
L2 L2 8
仅当 Val
和 Col1
相同时,我才想根据列 Col2
删除重复行。
我正在尝试使用以下 df.drop_duplicates(subset='Val', keep='first')
,但无法在 Col1
和 Col2
上添加条件。
我不知道如何处理上述问题。
答案 0 :(得分:2)
我们可以检查 Col1 == Col2
和两列重复的行:
df[~(df["Col1"].eq(df["Col2"]) & df.duplicated(subset=["Col1", "Col2"]))]
Col1 Col2 Val
0 T1 L2 1
1 T1 L2 1
2 T1 G3 3
3 G3 G3 4
5 G3 L2 7
6 L2 L2 8