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

线性与独立性测试运行报ValueError:无法转换为Series问题求解

问题原因

这个报错的根源是你先创建了完全空白的pd.DataFrame(),没有默认索引,逐列赋值时y_train、olsmod2.fittedvalues、olsmod2.resid三者的索引无法对齐,或者某一个对象的格式无法被pandas自动转换为可匹配的Series结构。

解决方案

首选方案:直接通过字典创建DataFrame

不要先建空白DataFrame再逐列赋值,直接把所有列放进字典里初始化,pandas会自动处理索引对齐逻辑,规避空DF的索引匹配问题:

df_pred = pd.DataFrame({
    "Actual Values": y_train,
    "Fitted Values": olsmod2.fittedvalues,
    "Residuals": olsmod2.resid
})

df_pred.head()

异常排查方案

如果上述代码仍然报错,按以下步骤排查:

  • 先验证三个对象的长度是否一致,分别执行代码输出长度:
    print(len(y_train), len(olsmod2.fittedvalues), len(olsmod2.resid))
    
    如果三者长度不同,说明你当前的y_train和训练olsmod2时用的训练集不是同一份,需要替换为对应匹配的训练集标签。
  • 如果长度一致仍报错,把所有对象转为numpy数组强制忽略索引差异:
    df_pred = pd.DataFrame({
        "Actual Values": y_train.values,
        "Fitted Values": olsmod2.fittedvalues.values,
        "Residuals": olsmod2.resid.values
    })
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 19:54:01