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

如何计算相同ID对应相邻TimeStamp的时间差并生成diff列

相同ID相邻时间戳差值计算实现方案

我们可以通过Python Pandas库快速实现该需求,步骤和代码如下:

  • 先将数据集按ID、TimeStamp列升序排序,保证同ID的时间戳按先后顺序排列
  • 对数据集按ID分组,调用diff()方法计算同分组内TimeStamp列的相邻行差值,存入新列diff即可

代码示例

import pandas as pd

# 示例数据构造,实际使用时替换为读取你的数据源的逻辑即可
data = {
    "TimeStamp": [1163, 1163, 1163, 1163, 1176, 1176, 1176, 1176, 1190, 1190, 1190],
    "Input": ["T"] * 11,
    "ID": [0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2]
}
df = pd.DataFrame(data)

# 核心计算逻辑
df = df.sort_values(by=["ID", "TimeStamp"], ignore_index=True)
df["diff"] = df.groupby("ID")["TimeStamp"].diff()

# 可选:如果需要和你给出的输出顺序一致,按TimeStamp和ID重新排序
df = df.sort_values(by=["TimeStamp", "ID"], ignore_index=True)
print(df)

注意事项

  • 若你的TimeStamp为datetime时间类型而非整数,diff计算后得到的是timedelta格式,可通过.dt.total_seconds()等方法转换为你需要的时间单位数值
  • 计算前必须确保同ID的时间戳已经按时间先后排序,否则得到的差值会不符合预期

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 03:45:07