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

如何从Pandas的datetime64日期列生成连续日期天数差值向量?

Pandas计算连续日期差值的方法

针对你已经解析为datetime64类型的日期列,Pandas有两种简洁的方式生成连续日期差值向量:

方法1:使用diff()方法(推荐)

diff()方法会直接计算当前行与前一行的差值,对于日期列返回Timedelta类型结果,最后通过dropna()移除第一行的空值(因为第一行没有前序日期):

# 生成日期差值的Timedelta序列
date_diff = mydf['dates'].diff().dropna()

# 如果需要转为天数的整数格式
date_diff_days = mydf['dates'].diff().dropna().dt.days

方法2:使用shift()手动计算

和R里的逻辑类似,通过shift(1)把日期列整体下移一行,再用原列减去移位后的列,最后移除空值:

# 手动计算日期差值
date_diff = mydf['dates'] - mydf['dates'].shift(1)
date_diff = date_diff.dropna()

两种方法得到的结果长度都会比原日期列少1,完全符合你的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 10:05:14