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

Pandas DataFrame分组聚合后如何提取每行column2的唯一值

实现方案

方案1:调整转换逻辑(推荐,性能更好)

不需要先把列表转成字符串再处理,直接在列表阶段完成去重,修改你现有的transform_list函数即可:

def transform_list(df3):
    # 使用dict.fromkeys保留元素首次出现的顺序,同时完成去重
    df3['column2'] = df3['column2'].apply(lambda x: ','.join(dict.fromkeys(x).keys()))
    return df3

dfb=transform_list(df3)

如果不需要保留元素的原有出现顺序,也可以简化为:

df3['column2'] = df3['column2'].apply(lambda x: ','.join(set(x)))

方案2:对已生成的字符串直接处理

如果不想修改之前的代码逻辑,针对已经转成字符串格式的column2,可以拆分后去重再拼接:

df3['column2'] = df3['column2'].apply(
    lambda s: ','.join(dict.fromkeys([item.strip() for item in s.split(',')]).keys())
)

这里加strip()是为了处理示例中逗号后带空格的情况,避免去重时因为前后空格导致判断为不同元素。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 03:54:00