如何从python数据框中的列列表中删除重复项

4 python list pandas

我有一个数据框

id      rev     names
34e     A      su,ra,ve,ra,de,ra
45e     R      ra,su,su,ve,de
55e     G      su,ra,de
41e     M      su,de,mu,er,su
Run Code Online (Sandbox Code Playgroud)

现在我需要删除重复项,输出应如下所示

id      rev     names
34e     A      su,ra,ve,de
45e     R      ra,su,ve,de
55e     G      su,ra,de
41e     M      su,de,mu,er
Run Code Online (Sandbox Code Playgroud)

jez*_*ael 7

如果列首先包含字符串split,则转换为sets 和join

df['names'] = df['names'].apply(lambda x: ','.join(set(x.split(','))))
Run Code Online (Sandbox Code Playgroud)

如果列包含转换为的列表set并且list是必要的:

df['names'] = df['names'].apply(lambda x: list(set(x)))
Run Code Online (Sandbox Code Playgroud)

如果订单很重要,请使用pandas.unique

df['names'] = df['names'].apply(lambda x: ','.join(pd.unique(x.split(','))))

df['names'] = df['names'].apply(lambda x: list(pd.unique(x)))
Run Code Online (Sandbox Code Playgroud)