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

Pandas groupby操作后如何同时添加计数列和对应Part值的列表列

你可以通过groupby的agg方法为Part列同时指定多个聚合规则实现需求,示例代码如下:

import pandas as pd

# 原始df构造示例,可直接替换为你自己的df
data = [
    ['1/1/2021', 'asd', 'v1', 'p1'],
    ['1/1/2021', 'asd', 'v1', 'p2'],
    ['1/1/2021', 'asd', 'v2', 'p1'],
    ['1/1/2021', 'pqr', 'v1', 'p1'],
    ['1/1/2021', 'pqr', 'v1', 'p2'],
    ['1/1/2021', 'pqr', 'v2', 'p2'],
]
df = pd.DataFrame(data, columns=['Month', 'Cat', 'Constr', 'Part'])

# 核心分组聚合代码
result = df.groupby(
    ['Month', 'Cat', 'Constr'],
    as_index=False  # 让分组字段保持为普通列,不转为索引
)['Part'].agg(
    count='count',  # 统计每个分组的Part数量
    part=list       # 把每个分组的Part值汇总为列表
)

运行上述代码得到的result就是你需要的目标结构。

如果你使用的pandas版本较低,不支持上述命名聚合的写法,可以改用字典传参的形式:

result = df.groupby(
    ['Month', 'Cat', 'Constr'],
    as_index=False
)['Part'].agg({
    'count': 'count',
    'part': list
})

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 23:30:05