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

如何对DataFrame实现嵌套分组聚合?多维度统计需求求解

解决方案

可以实现,无需复杂嵌套分组,分维度统计后合并即可:

  • 计算类别计数:按周期+类别分组,统计每组行数,得到每个周期下各类别的出现次数
  • 计算周期计数:仅按周期分组,统计每个周期的总行数
  • 合并关联:将两个统计结果与原始数据关联,再去重整理得到目标结构

用Pandas代码实现如下:

import pandas as pd

# 构造原始DataFrame
df = pd.DataFrame({
    '索引': [1,2,3,4,5,6],
    '周期': [20181231,20181231,20181231,20190131,20190131,20190131],
    '类别': [1,2,3,1,2,2]
})

# 统计每个周期下各类别的数量
category_count = df.groupby(['周期', '类别']).size().reset_index(name='类别计数')

# 统计每个周期的总数量
period_count = df.groupby('周期').size().reset_index(name='周期计数')

# 合并统计结果并去重,匹配目标结构
result = df.merge(category_count, on=['周期', '类别']) \
           .merge(period_count, on='周期') \
           .drop_duplicates(subset=['周期', '类别']) \
           [['索引', '周期', '类别', '类别计数', '周期计数']]

print(result)

执行后输出的结果完全符合需求,核心是分开计算不同维度的统计值,再通过关联合并,避免同时分组导致的统计维度冲突。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 01:50:30