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

使用Pandas进行聚合与分组索引:按年份汇总用户金额的问题

按年份对用户金额批量求和的解决方案

嗨,我懂你现在只能手动处理单一年份的金额求和有多繁琐——其实用pandas的分组功能就能一次性搞定所有年份的汇总,不用逐个年份重复写代码。

假设你的DataFrame结构如下(可根据实际列名调整):

比如你的数据大概是这样的:

user_idyearamount
12020100
12020200
22021150
2202150
32022300

一步到位的分组求和代码:

# 按用户ID和年份分组,对金额列求和
result_df = df.groupby(['user_id', 'year'])['amount'].sum().reset_index()

# 可选:给求和后的列重命名,让结果更直观
result_df.rename(columns={'amount': 'total_amount'}, inplace=True)

代码解释:

  • groupby(['user_id', 'year']):告诉pandas同时按用户ID和年份进行分组,这样每个组就是同一个用户同一年的所有记录
  • ['amount'].sum():对每个分组里的金额列求和
  • reset_index():把分组后的索引(user_id和year)转换为普通列,让结果和你预期的表格结构一致

如果你的年份是日期格式(比如datetime类型):

如果你的数据里没有直接的year列,而是有一个日期列(比如transaction_date),可以先提取年份再分组:

# 从日期列提取年份,生成新的year列
df['year'] = df['transaction_date'].dt.year

# 再执行上面的分组求和逻辑
result_df = df.groupby(['user_id', 'year'])['amount'].sum().reset_index()

用这个方法,不管你有多少个年份,都能一次性完成所有用户的年度金额汇总,不用再单独处理每个年份啦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 06:22:45