You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python pandas处理单元格逗号分隔列表仅保留重复值报错如何解决

问题解决:pandas DataFrame单元格内逗号分隔值保留重复元素

错误原因

  • 语法错误:原有代码索引段df['A']df['A'].duplicated()]缺少左方括号,存在语法问题无法正常解析
  • 逻辑错误:duplicated()方法是判断A列不同行之间的重复关系,和需求要求的「单个单元格内部的元素重复判断」完全不符
  • 赋值错误:在iterrows循环中直接对整列A赋值,返回结果长度和原DataFrame行数不匹配,因此抛出ValueError

正确实现代码

import pandas as pd
from collections import Counter

# 源数据
df = pd.DataFrame( data={'A': ['aaa, aaa, aaa', 'aaa, aaa, bbb', 'bbb, aaa, aaa', 'aaa, bbb, ccc'],'B': [ '1', '1', '1', '1']})

# 定义单元格处理函数:仅保留单元格内重复出现的元素
def keep_cell_duplicates(s):
    # 按分隔符拆分元素
    elem_list = s.split(', ')
    # 统计元素出现频次
    count = Counter(elem_list)
    # 筛选出现次数≥2的元素,拼接为字符串(无符合条件元素则返回空字符串)
    return ','.join([k for k, v in count.items() if v >= 2])

# 对A列逐单元格应用处理规则
df['A'] = df['A'].apply(keep_cell_duplicates)

输出结果

运行后得到的df和你期望的df_2完全一致:

AB
aaa1
aaa1
aaa1
1

内容的提问来源于stack exchange,提问作者imnotarobotre

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 22:54:08