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

如何从DataFrame的列生成指定格式的分组列表?

解决方案

直接用 pandas 的 groupby 配合字符串拼接的聚合方法就能实现需求,具体步骤如下:

1. 构造目标 DataFrame

import pandas as pd

df = pd.DataFrame({
    'a': ['xx', 'yy', 'zz', 'dd', 'pp'],
    'b': ['Apple', 'Orange', 'Apple', 'Mango', 'Mango']
})

2. 分组并聚合

核心是按 b 列分组,对每组的 a 列值用逗号拼接:

# 按b列分组,将每组的a列元素用逗号连接
result_series = df.groupby('b')['a'].agg(','.join)

3. 输出期望格式

遍历聚合后的 Series,按要求格式打印:

for fruit, code_str in result_series.items():
    print(f"{fruit} {code_str}")

运行后会输出:

Apple xx,zz
Orange yy
Mango dd,pp

为什么之前尝试失败?

大概率是没精准指定聚合的列。如果直接写 df.groupby('b').agg(','.join),会尝试对所有列(包括 b 列本身)执行拼接操作,导致不符合预期。必须明确指定要聚合的是 a 列,也就是 groupby('b')['a'].agg(','.join) 这种写法。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 20:06:28