pandas 使用列值和某些忽略条件删除重复项

i86rm4rw  于 2023-02-07  发布在  其他
关注(0)|答案(1)|浏览(117)

我有两列在我的excel文件,我想删除重复的'A'列与忽略条件。列如下:

A B
1 10
1 20
2 30
2 40
3 10
3 20

现在,我希望它变成这样:

A B
1 10
2 30
2 40
3 10

所以,基本上我想删除所有的重复,除了列'A'有值2(我想忽略2).我目前的代码如下,但它不为我工作,因为它删除重复与值'2'太多.

df = pd.read_excel(save_filename)
df2 = df.drop_duplicates(subset=["A", "B"], keep='first')
df2.to_excel(save_filename, index=False)
5ssjco0h

5ssjco0h1#

可以使用两个条件:

df[~df.duplicated(subset="A") | df["A"].eq(2)]

   A   B
0  1  10
2  2  30
3  2  40
4  3  10

相关问题