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

如何在Python Pandas中输出包含t-statistic、p-value、r^2等的回归表?

在Python Pandas中生成含t-statistic、p-value、R²的回归表

Hey there! 要在Pandas生态里生成包含t统计量、p值、R²这些关键统计指标的回归表,我最推荐用statsmodels库——它是Python里做统计建模的利器,输出的结果表完全覆盖你需要的所有指标,还能轻松和Pandas DataFrame联动。下面一步步给你演示操作:

1. 先搞定环境(如果没装statsmodels)

如果你还没安装这个库,先在终端里跑这条命令:

pip install statsmodels

2. 导入必要的库

import pandas as pd
import statsmodels.api as sm

3. 准备你的数据

假设你已经有了Pandas DataFrame格式的数据集,比如下面的示例(你可以替换成自己的数据):

# 示例数据集
df = pd.DataFrame({
    '目标变量': [12, 25, 30, 42, 51, 63],
    '自变量1': [2, 4, 5, 4, 5, 6],
    '自变量2': [1, 3, 2, 5, 4, 6]
})

# 注意:statsmodels默认不会自动添加截距项,所以要手动加上
X = sm.add_constant(df[['自变量1', '自变量2']])  # 自变量矩阵(含截距)
y = df['目标变量']  # 因变量

4. 拟合回归模型并输出完整结果

这里以最常用的普通最小二乘(OLS)回归为例,拟合后直接调用summary()就能得到包含所有你要的统计量的回归表:

# 拟合OLS模型
model = sm.OLS(y, X).fit()

# 打印完整回归结果表
print(model.summary())

结果说明:

  • 中间的系数表里,t列就是t-statistic,P>|t|列是对应的p-value;
  • 表格下方的R-squared就是你要的R²,还有调整后R²、F统计量等额外有用的指标。

5. 把结果转成Pandas DataFrame(可选)

如果想把回归结果保存成DataFrame方便后续分析或导出,用summary2()方法可以更灵活地提取:

# 提取系数详情表(含t、p值)
coef_results = model.summary2().tables[1]
# 提取整体模型统计量(含R²)
model_stats = model.summary2().tables[0]

print("系数统计详情:")
display(coef_results)  # 用display在Jupyter里会更美观
print("\n模型整体统计量:")
display(model_stats)

额外提示

如果你需要的是其他类型的回归(比如逻辑回归、线性混合效应模型),statsmodels也有对应的模块(比如sm.Logit、sm.MixedLM),调用fit().summary()后同样会输出包含t/p值、R²(或对应模型的拟合指标)的结果表。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.08 11:17:41