如何将Int64Index序列索引转为DatetimeIndex适配statsmodels ARIMA?
解决Int64Index转DatetimeIndex适配ARIMA的问题
嘿,这个问题我之前也碰到过!你的原索引是整数类型的Int64Index,直接强制转DatetimeIndex肯定会报错——毕竟整数没法直接映射成合法的日期时间值嘛。不过好在你说索引具体内容无所谓,只要保持顺序就行,那咱们直接生成一个和原序列长度匹配的DatetimeIndex替换它就行,完全能满足statsmodels ARIMA的格式要求。
具体操作步骤超简单:
- 先获取你序列的长度:
import pandas as pd length = len(ts) - 生成一个连续的DatetimeIndex替换原索引,起始日期随便选个合法日期就行,频率也可以随意设置(比如按天):
ts.index = pd.date_range(start='2020-01-01', periods=length, freq='D') - 验证一下索引类型,确认已经变成DatetimeIndex:
print(type(ts.index)) # 输出 <class 'pandas.core.indexes.datetimes.DatetimeIndex'>
这样处理后,你的序列就完全符合ARIMA模型的格式要求了,而且原序列的顺序一点没改,完全不影响模型训练~
内容的提问来源于stack exchange,提问作者Yu Shen
相关产品推荐
相关产品推荐

