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

如何用for循环将单变量线性回归的变量名、p值存入pandas DataFrame

单变量回归p值结果存储实现方案

你可以通过先暂存所有结果到列表、循环结束后统一转换为DataFrame的方式实现,同时注意修正原代码中X_Data和X_data的大小写不一致问题,完整代码如下:

import pandas as pd
import statsmodels.api as sm

# 初始化空列表存储每一轮回归的结果
result = []

for col in X_data:
    # 给单变量添加常数项
    exog = sm.add_constant(X_data[col], prepend=False)
    # 拟合单变量线性回归
    mod = sm.OLS(y_data, exog)
    res = mod.fit()
    # 追加当前变量的名称和对应p值
    result.append({
        "变量名": col,
        "p值": res.pvalues[col]
    })

# 转换为pandas DataFrame
p_result_df = pd.DataFrame(result)

# 可选操作:打印结果、保存为csv文件
print(p_result_df)
# p_result_df.to_csv("单变量回归p值结果.csv", index=False, encoding="utf-8-sig")

如果后续需要存储更多回归结果,比如回归系数、R²、t值等,只需要在append的结构中新增对应字段即可,示例如下:

result.append({
    "变量名": col,
    "p值": res.pvalues[col],
    "回归系数": res.params[col],
    "模型R²": res.rsquared
})

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 09:15:01