如何从数据框单元格的格式项中删除重复项?

时间:2019-05-17 09:07:01

标签: python pandas dataframe

我下面的数据框为 df1 。我想从包含.and() .logout() .logoutSuccessUrl("/login") .logoutRequestMatcher(new AntPathRequestMatcher("/logout")); 的项目中删除重复的项目。例如,第1行第3行将分别删除-1A1A,就像 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

1 个答案:

答案 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