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

Pandas date_range结果异常:为何未包含'2022-01-01'?

问题解答:Pandas date_range未生成2022-01-01的原因及解决办法

原因分析

你用pd.date_range("2022-01-03", "2023-12-31", freq='MS')生成的序列里没有2022-01-01,核心原因是:

  • freq='MS'是**每月第一天(Month Start)**的频率规则;
  • Pandas生成序列时,只会包含大于等于起始日期的符合频率规则的日期。2022-01-01早于你设定的起始日期2022-01-03,所以不会被纳入结果;
  • 第一个符合要求的日期就是2022-02-01(2022年1月之后的下一个月第一天)。

解决办法

方法1:修改起始日期

直接把起始日期设为2022-01-01,就能得到包含目标日期的序列:

import pandas as pd
pd.date_range("2022-01-01", "2023-12-31", freq='MS')

生成的序列会从2022-01-01开始,到2023-12-01结束,完全符合预期。

方法2:手动添加目标日期

如果必须保留起始参数为2022-01-03,可以手动将2022-01-01追加到生成的序列中:

import pandas as pd
dates = pd.date_range("2022-01-03", "2023-12-31", freq='MS')
dates = pd.DatetimeIndex(['2022-01-01']).append(dates)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 15:02:23