【问题标题】:drop duplicates in a python dataframe for multiple columns not containing a particular string in a column在python数据框中删除不包含列中特定字符串的多列的重复项
【发布时间】:2017-05-23 17:54:14
【问题描述】:

我想删除仅限于 C2 和 C3 列的重复项。但是,现在在保留重复行时,应优先考虑 C4 列中以“zx”开头的行。例如:考虑第 0 行和第 1 行(指 C1 列),行“0”保留在输出中,因为它包含“zx”但 C4 被删除。此外,当两个副本都包含相同的“zx”时,例如第 6 行和第 7 行,任何人都可以被删除。但是,当重复行(对于列 C2 和 C3)包含不同的 "zx" 时,两者都应该保留,例如: 行:8 和 9。

输入:

C1  C2   C3   C4
0   AB   Dat  zx101
1   AB   Dat  tp102
2   CD   CR   zx1032
3   CD   CR   lx1032
4   EF   KLM  2x501
5   EF   KLM  2x501
6   HI   NOP  zx707
7   HI   NOP  zx707
8   PL   TIP  zx303
9   PL   TIP  zx304

输出:

C1  C2   C3   C4
0   AB   Dat  zx101
2   CD   CR   zx1032
4   EF   KLM  2x501
6   HI   NOP  zx707
8   PL   TIP  zx303
9   PL   IPT  2x304

【问题讨论】:

标签: python pandas dataframe duplicates


【解决方案1】:

一种自然的方式是

  • 首先排序您的数据,以便您想要保留的观察结果始终是每个重复组的第一个观察结果
  • 然后使用drop_duplicates( keep = 'first')

【讨论】:

    猜你喜欢
    • 2020-09-27
    • 1970-01-01
    • 2021-10-09
    • 2015-04-25
    • 2019-02-17
    • 2020-02-04
    • 1970-01-01
    • 2015-07-04
    • 1970-01-01
    相关资源
    最近更新 更多