带有偏移量 pandas 的累积和

问题描述 投票:0回答:1

我正在开发一个机器学习模型来预测给定团队的得分。我想创建一个列,跟踪每个球队主场比赛的累积得分,但不包括当前比赛(行)。我可以轻松计算累计总数,但我想抵消累计总数以显示累计但不包括当前游戏,下面是数据集的示例。我理想地想创建累积列

游戏_id 比赛日期 home_id 首页_分数 累计
718730 2023-04-03 145 3 0
718695 2023-04-05 145 7 3
718687 2023-04-06 145 6 10
718683 2023-04-06 109 2 0
718671 2023-04-07 109 6 2
718656 2023-04-08 109 12 8

下面的代码是我迄今为止为创建累计总数所做的事情

import pandas as pd

data = pd.read_csv('game_data.csv')
data['home_cumulative'] = data.groupby('home_id')['home_score'].cumsum()

我尝试了以下方法,但结果与我的预期不符

data['home_offset'] = data.groupby('home_id')['home_score'].shift(periods = 1).cumsum().fillna(0)
python pandas machine-learning
1个回答
0
投票

你的想法基本上是正确的,只是代码稍有偏差:

data['home_offset'] = data.groupby('home_id')['home_cumulative'].shift(1).fillna(0)
© www.soinside.com 2019 - 2024. All rights reserved.