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

Pandas匹配name列相同值并拼接对应Path列内容生成新列方案

Pandas 同列重复值对应内容拼接解决方案

你需要的功能可以通过Pandas分组聚合逻辑直接实现,无需自行编写循环判断,实现代码如下:

import pandas as pd

# 构造测试数据
data_dict = {'name':["Chimney", "Chimney", "Columbia", "Washington","Washington","Washington"],
        'Path': ["Path1", "Path2", "Path3", "Path 4", "Path 5", "Path 6"]}
df = pd.DataFrame(data_dict)

# 核心逻辑:按name列分组,对同组的Path字段做逗号拼接
result = df.groupby('name', as_index=False)['Path'].agg(Append_Path=', '.join)

# 若需要保留原数据集首次出现对应name的索引,补充以下代码即可
result = result.set_index(df.drop_duplicates('name').index).sort_index()

原代码问题说明

你之前的循环逻辑存在三个明显问题:

  • 索引越界风险:循环中n最终会累加到等于数据集行数,n+1会超出DataFrame的索引范围
  • 全列覆盖错误:每次符合条件时对df["Append_Path"]直接赋值,会覆盖整列的历史值,最终仅保留最后一次匹配结果
  • 不支持多重复值:逻辑仅能处理2个重复值的场景,3个及以上重复值的拼接需求无法实现

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 13:45:09