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

Pandas分组聚合问题:按多列分组统计销售天数的正确方法

销售数据分组统计问题及解决方案

首先,我们有如下的销售DataFrame数据:

Date    Store   Company     product Amount
1-1-18  A       company_x   A001    10
1-1-18  A       company_y   A002    20
1-1-18  A       comapny_z   A003    30
1-1-18  B       comapny_x   A001    40
1-1-18  B       company_y   A002    50
1-1-18  B       company_z   A003    60
2-1-18  A       company_x   A001    10
2-1-18  A       company_y   A002    20
2-1-18  A       comapny_z   A003    30
2-1-18  B       comapny_x   A001    40
2-1-18  B       company_y   A002    50
2-1-18  B       company_z   A003    60
2-1-18  A       company_x   A001    10
2-1-18  A       company_y   A002    20
2-1-18  A       comapny_z   A003    30
2-1-18  B       comapny_x   A001    40
2-1-18  B       company_y   A002    50
2-1-18  B       company_z   A003    60
2-1-18  A       company_x   A001    10
2-1-18  A       company_y   A002    20
2-1-18  A       comapny_z   A003    30
2-1-18  B       comapny_x   A001    40
2-1-18  B       company_y   A002    50
2-1-18  B       company_z   A003    60
3-1-18  A       company_x   A001    10
3-1-18  A       company_y   A002    20
3-1-18  A       comapny_z   A003    30
3-1-18  B       comapny_x   A001    40
3-1-18  B       company_y   A002    50
3-1-18  B       company_z   A003    60

最初的需求与尝试

最初想要按Store、Company、Product分组,统计每个产品的销售订单唯一数量,期望得到的结果如下:

Store Company product Count
A     Company_x A001    5
B     Company_y A002    5
C     Company_z A003    5

尝试执行了以下代码:

df.groupby(['Store','Company','Product'],as_index='False').agg({'product':'nunique'})

但运行时抛出了值错误,核心问题有两个:

  1. as_index参数错误:这里传了字符串'False',但该参数需要的是布尔值False,非空字符串会被Python视为True,导致分组索引被保留,不符合预期输出结构。
  2. 聚合列选择错误:已经按Product分组,每个分组内的product值都是唯一的,用'nunique'聚合得到的结果只会是1,完全不符合需求,甚至触发逻辑错误。

修正需求后的正确解决方案

后来修正需求为统计各产品的销售天数,最终找到正确的代码:

df.groupby(['Store','Company','Product'], as_index=False).agg({'Date':'nunique'})

这段代码的逻辑很清晰:

  • 按Store、Company、Product分组,确保每个组对应特定门店、公司的特定产品
  • 对分组后的Date列使用nunique聚合,统计该产品有多少天产生了销售
  • as_index=False保证结果不会将分组列设为索引,输出结构更贴近需求格式

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 06:59:49