在python数据框中删除不包含列中特定字符串的多个列的重复项

时间:2017-01-09 12:54:39

标签: python pandas dataframe duplicates

我想删除限制在C2和C3列的重复项。但是,现在当保留重复行的行时,以" zx"开头的行在C4栏中应优先考虑。例如:考虑行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

1 个答案:

答案 0 :(得分:0)

一种自然的方式是

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