python - 如何从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
如何才能做到这一点?
解决方案
如果 column 包含字符串 first split
,则转换为set
s 和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)))
推荐阅读
- hyperlink - Sphinx:创建在新窗口中打开的外部链接
- ckeditor - 如何在 onclick 事件处理程序中恢复 CKEDITOR.inline 之后的插入符号位置
- angular - 从Angular 7中的API获得响应后如何将一个组件传递给另一个组件
- php - 检查纬度和经度是否在我的谷歌地图起点和终点范围内
- python - 如何使用来自 s3 的预训练模型来预测一些数据?
- haskell - 使用 Haskell 的随机元素网格
- mybatis-generator - 如何使用 ignoreQualifiersAtRuntime="true" 删除 auto sql 中的前缀?
- sql - 使用无界前面计算运行总计
- angular - ngFor 在具有不同属性的列中
- android - 我想在我的应用程序中添加一个共享按钮,但我不明白如何实现它,我在我的应用程序中显示来自 firebase 存储的图像