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

如何使用pandas pd.date_range生成不含周末节假日的2小时间隔时间序列

问题原因

CustomBusinessHour的营业时间区间默认是左闭右开,你原先设置end='22:00'时,有效时间范围为00:00 ≤ 时间 < 22:00,2小时间隔下最大符合要求的时间就是20:00,因此无法覆盖到22:00的时间点。

调整方案

如果需要覆盖全天24小时的工作日时间,直接将start和end参数均设置为00:00即可,CustomBusinessHour会自动识别该配置代表全天24小时为有效营业时间,同时会自动排除周末和你指定的法定节假日。

修正后代码
import pandas as pd
from pandas.tseries.offsets import CustomBusinessHour
from pandas.tseries.holiday import USFederalHolidayCalendar

# 核心修改:start和end均设为00:00表示全天24小时有效
f = CustomBusinessHour(n=2, start='00:00', end='00:00', calendar=USFederalHolidayCalendar())
res = pd.date_range('2021-01-01', '2021-01-10', freq=f)
输出验证

运行上述代码后生成的时间序列,每个工作日会包含00:00、02:00、04:00……22:00共12个时间点,完全覆盖24小时间隔2小时的需求,同时自动过滤掉周末和美国联邦法定节假日。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 01:06:05