首页 > 解决方案 > 如何从python中数据框中的列列表中删除重复项?

问题描述

我有一个数据框:

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

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

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

如何才能做到这一点?

标签: pythonpandaslist

解决方案


如果 column 包含字符串 first split,则转换为sets 和join

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

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

df['names'] = df['names'].apply(lambda x: list(set(x)))

如果订单很重要,请使用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)))

推荐阅读