我下面的数据框为 df1 。我想从包含.and()
.logout()
.logoutSuccessUrl("/login")
.logoutRequestMatcher(new AntPathRequestMatcher("/logout"));
的项目中删除重复的项目。例如,第1行和第3行将分别删除-
和1A
,1A
,就像 df2 。
如何删除重复项?
数据框:
2B
目标输出:
df1 = DataFrame({'Condition': ['1A', '1A, 1A-1A', '1A, 2B', '1A, 2B, 1A-2B', '3C, 1A-2B']})
df1
Condition
0 1A
1 1A, 1A-1A
2 1A, 2B
3 1A, 2B, 1A-2B
4 3C, 1A-2B
答案 0 :(得分:3)
您可以使用-
创建具有值的集合,并测试是否未在集合中使用拆分的值,最后通过,
加入:
L = []
for x in df1['Condition']:
a = x.split(', ')
s = set([z for y in a if '-' in y for z in y.split('-')])
L.append(', '.join([z for z in a if z not in s]))
df1['new'] = L
print (df1)
Condition new
0 1A 1A
1 1A, 1A-1A 1A-1A
2 1A, 2B 1A, 2B
3 1A, 2B, 1A-2B 1A-2B
4 3C, 1A-2B 3C, 1A-2B