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

如何使用pandas将同一ID下的多行文本合并为单行

你当前使用sum聚合的问题是:字符串求和仅会直接拼接所有内容,不会自动插入你需要的逗号分隔符。

实现代码(逗号分隔,匹配预期效果)

# as_index=False 保证ID作为普通列输出,而非行索引
result_df = df.groupby('ID', as_index=False)['text'].agg(', '.join)

运行上述代码得到的结果就和你给出的预期输出完全一致。

可选扩展:方括号包裹每个条目

如果你需要每个text条目用方括号包裹后再拼接,可以使用自定义lambda聚合:

result_df = df.groupby('ID', as_index=False)['text'].agg(
    lambda x: ', '.join(f'[{text}]' for text in x)
)

输出效果示例:

IDtext
A[name;job], [like;interest], [speak;too]

注意事项

如果你的text列存在空值(NaN),建议提前过滤空值避免join操作报错:

result_df = df.dropna(subset=['text']).groupby('ID', as_index=False)['text'].agg(', '.join)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.08 17:54:04