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

如何在Python/R中计算数据框单列多行的日期差值?

同一列内多行日期差值计算(Python & R)

Python 实现

先确保日期列是datetime类型,再根据需求计算差值:

  • 转换日期列格式
import pandas as pd

# 读入数据(替换成你的数据路径)
df = pd.read_csv('your_data.csv')
# 把目标列转为datetime类型
df['date_col'] = pd.to_datetime(df['date_col'])
  • 计算相邻行的日期差
    直接用diff()方法就能得到后一行减前一行的时间差,还能转成整数天数:
# 保留时间差格式
df['date_diff'] = df['date_col'].diff()
# 转为整数天数
df['date_diff_days'] = df['date_col'].diff().dt.days
  • 计算指定行之间的差值
    比如要算第3行和第1行的日期差(注意Python索引从0开始):
target_diff = df.loc[2, 'date_col'] - df.loc[0, 'date_col']
# 转成天数
diff_days = target_diff.days

R 实现

同样先处理日期列类型,再计算差值:

  • 转换日期列格式
# 读入数据(替换成你的数据路径)
df <- read.csv("your_data.csv")
# 把目标列转为Date类型
df$date_col <- as.Date(df$date_col)
  • 计算相邻行的日期差
    用diff()函数直接计算,结果可以转成数值型天数:
# 保留时间差格式
df$date_diff <- diff(df$date_col)
# 转为整数天数
df$date_diff_days <- as.numeric(diff(df$date_col))
  • 计算指定行之间的差值
    比如算第3行和第1行的日期差(R索引从1开始):
target_diff <- df$date_col[3] - df$date_col[1]
# 转成天数
diff_days <- as.numeric(target_diff)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 00:30:54