我有一个数据框
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)
如果列首先包含字符串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)