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

如何配置pandas.date_range的freq参数生成指定工作日的DatetimeIndex?

用Pandas生成指定工作日的DatetimeIndex对象

要生成2023年所有周一和周四的DatetimeIndex,有两种高效的实现方式:

方法1:分别生成后合并排序

直接用pd.date_range分别生成周一和周四的日期序列,再合并排序:

import pandas as pd

start = "2023-01-01"
end = "2023-12-31"

# 生成全年所有周一
mondays = pd.date_range(start, end, freq="W-MON")
# 生成全年所有周四
thursdays = pd.date_range(start, end, freq="W-THU")
# 合并两个序列并排序
target_dates = mondays.union(thursdays).sort_values()

方法2:自定义工作日频率(更优雅)

利用pandas.offsets.CustomBusinessDay定义只包含周一和周四的工作日规则,直接生成目标序列:

import pandas as pd

# 自定义仅包含周一、周四的工作日频率
custom_freq = pd.offsets.CustomBusinessDay(weekmask="Mon Thu")
start = "2023-01-01"
end = "2023-12-31"

# 生成目标DatetimeIndex
target_dates = pd.date_range(start, end, freq=custom_freq)

关键说明

  • freq="W-MON"表示每周一的频率,W-THU表示每周四的频率;
  • weekmask参数接受空格分隔的星期缩写(Mon/Tue/Wed/Thu/Fri/Sat/Sun),用于指定需要保留的工作日;
  • 两种方法最终都会返回排序后的DatetimeIndex对象,可直接用于后续数据分析。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 03:55:16