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

如何生成连续年月整数序列?Pandas时间序列预测中的ds变量需求

生成连续跨年的年月整数序列(Pandas实现)

你的问题核心是手动递增数字无法处理12月到次年1月的转换,正确做法是借助Pandas的日期处理能力自动处理跨年逻辑,步骤如下:

  1. 将初始整数日期转为标准日期类型
    把202108这类整数转成Pandas可识别的日期对象,指定格式为%Y%m(年+月)。

  2. 生成后续连续月份的日期序列
    使用pd.date_range生成指定数量的月份,freq='MS'表示以每月第一天为周期,确保序列严格按月份递增,自动处理跨年。

  3. 将日期序列转回整数格式
    把生成的日期格式化为%Y%m字符串后转成整数,得到目标ds格式。

完整代码示例:

import pandas as pd

# 初始年月整数
start_ds = 202108
# 转成Pandas日期对象
start_date = pd.to_datetime(str(start_ds), format='%Y%m')
# 生成起始日期之后的25个连续月份(periods=26包含起始月,[1:]取后续25个)
future_dates = pd.date_range(start=start_date, periods=26, freq='MS')[1:]
# 转成目标整数格式
future_ds = future_dates.strftime('%Y%m').astype(int)

# 生成预测并赋值ds列
aux = mlf.predict(25)
aux['ds'] = future_ds

关键说明

  • periods=26是因为pd.date_range会包含起始日期本身,加1后取[1:]刚好得到起始日期之后的25个连续月份。
  • freq='MS'确保每次递增一个自然月,自动处理202112之后转为202201的场景,无需手动判断月份边界。

内容的提问来源于stack exchange,提问作者Ramiro Guzmán

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 09:37:12