【问题标题】:Drop Duplicates based on condition of two columns根据两列的条件删除重复项
【发布时间】:2021-03-20 04:21:20
【问题描述】:

我有这张桌子:

A B C
Hello A C
Hello B C
Hello C C

我想根据 A 列删除重复项,但只保留第三行,其中 B 列和 C 列具有相同的字符串:

A B C
Hello C C

我该怎么做?

提前致谢!

【问题讨论】:

    标签: python python-3.x pandas dataframe duplicates


    【解决方案1】:

    你可以试试

    df = df[df.C.eq(df.B) | ~df.A.duplicated(keep=False)]
    

    【讨论】:

    • 问题在于我只想对列 A 上的重复行执行此操作。例如,如果 A 中具有唯一值的任何行在 B 中没有相同的值,并且C,它将与您的代码一起删除,我想保留它。谢谢!
    • @BENY 在重复的 ~ 上考虑 |
    【解决方案2】:
    df = df[~df['A'].duplicated(keep=False)|(df['C']==df['B'])]
    

    【讨论】:

    • 问题在于我只想对列 A 上的重复行执行此操作。例如,如果 A 中具有唯一值的任何行在 B 中没有相同的值,并且C,它将与您的代码一起删除,我想保留它。谢谢!
    猜你喜欢
    • 2017-03-02
    • 2021-02-09
    • 1970-01-01
    • 1970-01-01
    • 2020-02-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多