2017-01-09 140 views
-3

我想删除限制在C2和C3列的重复项。但是,现在当保留重复行时,应优先考虑C4列中以“zx”开头的行。例如:考虑第0行和第1行(指C1列),行“0”保留在输出中,因为它包含“zx”但C4被丢弃。另外,如果两个重复项都包含相同的“zx”,例如第6行和第7行,则可以删除任何人。然而,当重复行(列C2和C3)含有不同的 “ZX”,既应留例如: 行:8和9在Python数据框中删除不包含列中特定字符串的多列的重复项

输入:

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 
+0

显示你已经尝试了什么。堆栈溢出不是编码。请发布您的代码。看看[问]以及如何创建[mcve] – JimHawkins

回答

0

一种自然的方式是

  • 第一排序您数据,让你想保留的观察总是先为每个重复组
  • 然后用drop_duplicates(keep = 'first')
相关问题