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

Pandas计算同列相邻日期的分钟级时间差方法

Pandas计算相邻日期分钟级时间差实现方案

需求说明

  • 数据集包含存储日期时间值的DATE列
  • 需要逐行计算相邻两个日期的分钟级时间差
  • 计算结果存入名为time_interval的新列
  • 原始数据集参考:
    待处理的日期时间数据集
  • 期望输出效果参考:
    期望输出结果示例

原代码问题

原有代码存在语法错误,axis是Pandas内置方法的入参,不能直接写在列运算表达式中,且未调用正确的相邻行差值计算逻辑:

# 错误代码
df['time_interval'] = (df['DATE'],axis=0 - df['DATE'],axis=1) * 24 * 60

正确实现代码

import pandas as pd

# 先将DATE列转换为标准datetime格式,若列本身已是datetime类型可跳过该行
df['DATE'] = pd.to_datetime(df['DATE'])

# 计算相邻行时间差,转换为分钟单位
df['time_interval'] = df['DATE'].diff().dt.total_seconds() / 60

逻辑说明

  • diff()方法默认计算当前行与上一行的差值,第一行没有上序相邻值会返回空值,和示例期望效果一致
  • dt.total_seconds()会把时间差类型的结果转换为总秒数,除以60即可得到分钟级差值
  • 如果需要把第一行的空值替换为0,可在表达式末尾追加.fillna(0)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 21:30:47