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

如何用Python holidays库生成指定时段的节假日DataFrame

生成包含日期和节假日标记的DataFrame

没问题,我来帮你实现这个需求!要生成2019年1月1日到2020年12月31日期间、包含日期和节假日标记的DataFrame,咱们可以结合pandas和holidays库来完成,具体步骤和代码如下:

完整实现代码

import pandas as pd
from datetime import date
import holidays

# 1. 生成目标时段的连续日期序列
date_range = pd.date_range(start='2019-01-01', end='2020-12-31')

# 2. 初始化美国节假日对象
us_holidays = holidays.US()

# 3. 生成节假日标记列:日期为节假日则赋值1,否则为0
# 注意:需将datetime64类型转为date类型,匹配holidays库的判断规则
holiday_column = [1 if dt.date() in us_holidays else 0 for dt in date_range]

# 4. 组合成最终的DataFrame
holiday_df = pd.DataFrame({
    'date': date_range,
    'holiday': holiday_column
})

# 可选:将date列转换为纯date类型(默认是datetime64)
holiday_df['date'] = holiday_df['date'].dt.date

# 验证结果(查看前5行)
print(holiday_df.head())

关键细节解释

  • 日期序列生成:pd.date_range是pandas中快速生成连续日期的工具,默认生成datetime64格式的日期;
  • 节假日判断:holidays.US()会加载美国的官方节假日数据,判断时需要将datetime64转为date类型(通过.dt.date()),才能和库中的日期格式匹配;
  • 标记列生成:用列表推导式高效遍历所有日期,生成符合要求的0/1标记列。

示例输出

运行代码后,前几行的输出大概是这样的:

date  holiday
0  2019-01-01        1  # 元旦
1  2019-01-02        0
2  2019-01-03        0
3  2019-01-04        0
4  2019-01-05        0

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 17:36:10