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

Auto-ARIMA运行报错ValueError:y应为一维数组,求解决方法

解决pm.auto_arima的ValueError问题

报错原因

pm.auto_arima要求输入的y参数是一维单变量时间序列,你传入的df2是包含11列的DataFrame(形状(90,11)),不符合函数的输入要求。

解决方法

1. 针对单列时间序列建模

如果你只需要对DataFrame中的某一列数据建模,直接提取该列(转为Series或一维数组)传入即可:

# 提取目标列(替换成你实际要建模的列名,比如'quarterly_data')
y = df2['target_column']
# 运行auto_arima,m=4适配季度数据
model = pm.auto_arima(y, m=4)

注:pandas Series本身就是一维结构,直接传入即可,无需额外转成numpy数组。

2. 针对多列时间序列批量建模

如果需要对所有11列分别建模,可通过循环遍历每一列逐个处理:

# 用字典存储每列对应的模型
column_models = {}
for col_name in df2.columns:
    # 提取当前列的时间序列
    y = df2[col_name]
    # 拟合模型
    column_models[col_name] = pm.auto_arima(y, m=4)
    # 可在此添加后续操作,比如生成预测结果

额外注意

如果目标列存在缺失值,建议先做缺失值填充(如向前填充、均值填充等),否则可能触发新的报错:

# 示例:向前填充缺失值
y = df2['target_column'].fillna(method='ffill')

内容的提问来源于stack exchange,提问作者Isabelle De Melo van Houten

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 07:13:13