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

pandas基于playerId与datetime列的条件累计分组求和问题

实现方法

你可以分两步完成累计和计算:

  1. 先按playerId和dateutc分组,统计单个玩家当日所有goal、shot、header字段的总和
  2. 对第一步得到的每日聚合结果,按playerId分组后对三个指标字段做升序累计求和即可
import pandas as pd

# 假设df为你的原始DataFrame,先确保dateutc为datetime类型
df['dateutc'] = pd.to_datetime(df['dateutc'])

# 第一步:按玩家+日期聚合当日各指标总和,同时按日期升序排序保证累计顺序正确
daily_agg = df.groupby(['playerId', 'dateutc'], as_index=False)[['goal', 'shot', 'header']].sum()
daily_agg = daily_agg.sort_values(['playerId', 'dateutc'])

# 第二步:按玩家分组,对三个指标做累计求和
daily_agg[['goal', 'shot', 'header']] = daily_agg.groupby('playerId')[['goal', 'shot', 'header']].cumsum()

# daily_agg即为最终结果,和你期望的输出结构完全一致
print(daily_agg)

如果你的原始数据已经保证同一个playerId+dateutc组合只有一条记录,可以跳过第一步的分组求和步骤,直接排序后做累计计算即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 07:39:02