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

pandas如何指定多列分组去重并仅合并重复行的指定列

问题原因

你当前的写法只指定了对name列做聚合处理,groupby操作只会返回参与分组的列和你指定聚合的列,所以其他字段(比如created_at)会丢失。

解决方案

使用agg方法为不同列指定不同的聚合规则即可,你需要保留分组内首行的其他字段、同时新增拼接name的字段,代码示例如下:

import pandas as pd

# 按title和thumbnail分组
result = df.groupby(['title', 'thumbnail'], as_index=False).agg(
    # 保留首行的created_at字段
    created_at = ('created_at', 'first'),
    # 保留首行的原始name字段(如果不需要可以删掉这行)
    name = ('name', 'first'),
    # 新增字段存储所有重复行的name拼接结果
    merged_names = ('name', lambda x: ' '.join(x))
).reset_index(drop=True)

规则说明

  • 你如果还有其他需要保留的字段,直接在agg的参数里新增对应配置即可,格式为输出列名 = ('原表列名', 'first')
  • 如果你不需要保留首行的原始name字段,删掉name = ('name', 'first')这行即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 02:15:05