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

如何使用Pandas的groupby()与sum()统计单月消费超25000美元的持卡记录

错误说明

你生成的df_3不符合要求,核心问题是groupby()用法写反了:你把需要聚合求和的Amount列当成了分组键,反而对月份、持卡人姓名做无意义的求和,才会出现金额作为索引、甚至出现负消费额的异常输出,这个中间表从根上就错了,没法用来做后续统计。

正确实现流程
  • 第一步:生成符合要求的月度消费汇总表
    分组维度必须是「持卡人+自然月」两个字段,对Amount列做求和聚合,每一行对应1位持卡人1个月的总消费:
    # 按持卡人、月份分组,计算单月单人总消费
    monthly_spend = df.groupby(['Cardholder Name', 'Calendar Month'], as_index=False)['Amount'].sum()
    
  • 第二步:筛选符合阈值的记录
    用布尔索引筛出总消费额大于25000美元的行:
    over_threshold = monthly_spend[monthly_spend['Amount'] > 25000]
    
  • 第三步:计算记录总数
    筛选后结果的行数就是你要的统计值:
    total_count = len(over_threshold)
    # 等价写法:total_count = over_threshold.shape[0]
    
要点提醒

groupby()的参数逻辑是:括号内传入的是用来拆分数据的分组维度字段,后续指定的列才是要做聚合计算(比如sum、count)的指标字段,不要把聚合指标放到分组参数里。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.01 01:39:18