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

Pandas体育赛事数据重排:按gsm_ID新增PreviousEventTime列需求

解决方案:按gsm_ID分组添加上一条赛事事件时间

作为体育行业的数据处理需求,这个场景太常见啦——我们需要给每个赛事分组(gsm_ID)的事件记录,添加上一条事件的时间戳。用Python的Pandas库就能快速搞定,具体步骤如下:

步骤1:准备工作(导入库+读取数据)

先确保你已经安装了Pandas,然后导入库并读取你的赛事数据文件(根据实际文件格式调整读取方法,比如CSV用read_csv,Excel用read_excel):

import pandas as pd

# 替换成你的实际数据文件名
df = pd.read_csv("赛事事件数据.csv")

步骤2:确保时间列格式正确

如果你的eventdatetime列还不是标准的日期时间格式,一定要先做转换,不然后续的时间操作容易出问题:

# 自动识别常见时间格式并转换
df['eventdatetime'] = pd.to_datetime(df['eventdatetime'], infer_datetime_format=True)

步骤3:分组生成PreviousEventTime列

核心逻辑就是把数据按gsm_ID拆成独立小组,然后给每个小组的时间列做「下移一行」的操作——这样当前行就能精准拿到同组上一条事件的时间了:

# 按gsm_ID分组,生成上一行时间列
df['PreviousEventTime'] = df.groupby('gsm_ID')['eventdatetime'].shift(1)

结果说明

  • 每个gsm_ID组内的第一行数据,PreviousEventTime会显示NaN(因为没有上一条事件),这是完全正常的;
  • 后续每行的PreviousEventTime都会严格对应同组的上一条事件时间戳。

你可以用这行代码快速验证处理结果:

print(df[['gsm_ID', 'eventdatetime', 'PreviousEventTime']].sample(10))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 03:34:20