如何删除pandas dataframe单条条目内的重复字符串
Pandas DataFrame单元格内逗号分隔字符串去重方案
你可以通过对目标列的单元格内容做自定义处理实现需求,核心逻辑是将单元格内的字符串按逗号拆分、去重后再重新拼接为逗号分隔的字符串,根据是否需要保留原始出现顺序可以选择两种实现方式:
- 方案1:不需要保留字符串原始出现顺序,代码更简洁
import pandas as pd # 请将下方的target_col替换为你实际需要处理的列名 df['target_col'] = df['target_col'].apply(lambda x: ','.join(set(x.split(','))))
- 方案2:保留字符串第一次出现的顺序(适配Python 3.7及以上版本)
# 请将下方的target_col替换为你实际需要处理的列名 df['target_col'] = df['target_col'].apply(lambda x: ','.join(dict.fromkeys(x.split(',')).keys()))
如果你的单元格内存在额外的空格(例如北京, 上海, 北京的分隔符后带空格),可以用如下适配代码自动去除空格后再去重:
df['target_col'] = df['target_col'].apply(lambda x: ','.join(dict.fromkeys([i.strip() for i in x.split(',')]).keys()))
内容的提问来源于stack exchange,提问作者frichter
相关产品推荐
相关产品推荐

