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

使用LSTM预测未来值:生成日期时遇TypeError报错求助

销售预测日期生成问题解决方案

错误根源

你用df.index[-1]获取的是整数类型的索引值(比如你的数据里是1429),但DateOffset只能和datetime类型的日期做运算,整数和它相加必然触发TypeError: 'int' object is not callable。

正确操作步骤

1. 修复日期列类型并替换索引

先把原本object类型的Date列转成datetime格式,再把它设为DataFrame的索引:

import pandas as pd

# 转换Date列为datetime类型
df['Date'] = pd.to_datetime(df['Date'])
# 将Date列设为索引,替换原整数索引
df = df.set_index('Date')

2. 生成2023-2025年的未来日期

现在索引是datetime类型了,就能用DateOffset正确生成未来日期。比如生成3年(36个月)的月度日期:

from pandas.tseries.offsets import DateOffset

# 获取现有数据的最后一个日期
last_date = df.index[-1]
# 生成从下一个月开始的36个月度日期
future_dates = [last_date + DateOffset(months=x) for x in range(1, 37)]
# 创建带未来日期索引的空DataFrame,保留原列名
future_df = pd.DataFrame(index=future_dates, columns=df.columns)

3. 合并原数据与未来空表(可选)

如果需要把历史数据和未来预测的空行放在一起,直接拼接:

combined_df = pd.concat([df, future_df])

这样得到的结果就是索引为连续datetime日期、后续行预留Sales列用于填充预测值的格式,和你期望的样式一致。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 17:00:11