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

基于行数与外部逻辑计算分组得分的实现方法

解决分组计算累积平均得分的方案

嗨John,很高兴帮你搞定这个问题!你要的其实就是分组内的累积平均值——对每个分组里的每一行,计算从该行往上(包含本行)所有score1的总和除以对应行数,对吧?

我用Python的Pandas库来给你演示具体实现,这是处理这类数据集最常用的工具之一:

步骤1:准备数据

先把你的示例数据转换成可操作的DataFrame:

import pandas as pd

data = {
    'S.no': [1, 2, 3, 4, 5],
    'Group': ['GroupA', 'GroupA', 'GroupA', 'GroupA', 'GroupA'],
    'score1': [1, 0, 1, 1, 1]
}
df = pd.DataFrame(data)

步骤2:计算分组累积平均

用Pandas的groupby结合expanding方法就能轻松实现你的需求:

# 按Group分组,对score1计算从第一行到当前行的累积平均值
df['cumulative_avg'] = df.groupby('Group')['score1'].expanding().mean().reset_index(level=0, drop=True)

运行后你的数据集会变成这样:

S.noGroupscore1cumulative_avg
1GroupA11.0
2GroupA00.5
3GroupA10.666667
4GroupA10.75
5GroupA10.8

完全匹配你的要求:第5行是(1+0+1+1+1)/5=0.8,第4行是(1+0+1+1)/4=0.75,完美!

补充说明

  • 如果你的数据集有多个分组(比如GroupB、GroupC),这个代码会自动对每个分组单独计算,不用额外修改
  • expanding().mean()的作用就是从第一行开始,逐步计算到当前行的平均值,刚好贴合你的业务逻辑

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 07:05:52