我有一个数据框:
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
如何做到这一点?
最佳答案
如果列包含字符串首先split
,转换为set
并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)))
关于python - 如何从 python 数据框中的列列表中删除重复项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53596283/