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

如何用Pandas创建3天滑动日期窗口?是否需用循环?

用Pandas实现滑动日期窗口,无需循环!

当然可以用Pandas轻松实现这种每日滑动的3天窗口,完全不用编写手动循环——利用Pandas的矢量化日期操作就能高效完成。

具体实现步骤:

  1. 先生成所有窗口的起始日期序列:我们需要从2019-06-01开始,每天递增,直到2019-06-29(因为最后一个窗口的结束日期是2019-07-01,起始日期加2天正好得到它)。
  2. 再通过起始日期计算对应的结束日期:给每个起始日期加上2天即可。
  3. 最后将起始和结束日期配对成你需要的元组列表。

示例代码:

import pandas as pd

# 生成所有窗口的起始日期(每日递增)
start_dates = pd.date_range(start='2019-06-01', end='2019-06-29', freq='D')
# 计算每个窗口的结束日期(起始日期+2天)
end_dates = start_dates + pd.Timedelta(days=2)

# 转换为字符串格式并配对成元组列表
sliding_windows = list(zip(start_dates.strftime('%Y-%m-%d'), end_dates.strftime('%Y-%m-%d')))

验证输出:

运行后,sliding_windows的前几个元素就是你想要的结果:

[('2019-06-01', '2019-06-03'),
 ('2019-06-02', '2019-06-04'),
 ('2019-06-03', '2019-06-05'),
 ...,
 ('2019-06-29', '2019-07-01')]

为什么不用循环?

Pandas的日期操作是矢量化的,相比Python循环,它在处理大范围日期时速度快得多,代码也更简洁易读。如果你的日期范围很大,这种方法的优势会非常明显。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 07:31:04