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

pandas dataframe groupby操作如何用换行符拼接字符串列

解决方法

你可以通过给agg()方法传入字段规则字典,为不同列指定不同的拼接逻辑,具体代码如下:

import pandas as pd
# 配置pandas显示规则,确保打印时能正常展示换行
pd.set_option('display.max_colwidth', None)
pd.set_option('display.expand_frame_repr', False)

# 按Category分组,不同列用不同分隔符拼接
df_new = df.groupby(['Category'], as_index=False).agg({
    # Name列用换行符拼接
    'Name': '\n'.join,
    # 其余列沿用空格拼接
    'Last': ' '.join,
    'Loc': ' '.join
})

如果你的表列数较多,不想逐个手动写规则,可以用字典推导式批量生成聚合规则:

# 排除分组键外的所有需要聚合的列
agg_columns = [col for col in df.columns if col != 'Category']
# 生成聚合规则:只有Name列用换行,其余用空格
agg_rule = {col: '\n'.join if col == 'Name' else ' '.join for col in agg_columns}
df_new = df.groupby('Category', as_index=False).agg(agg_rule)

注意:如果你之前测试时看到\n没有生效变为换行,大概率是pandas默认的显示限制把换行转义或者截断了,加上前面的显示配置即可在控制台/Notebook中看到和预期一致的换行效果。如果后续要导出到Excel,只要开启单元格的「自动换行」格式就能正常展示换行,导出CSV也会默认保留换行符,无需额外处理。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 06:18:01