首页 > 解决方案 > 我可以使用 statsmodels 中的 summary() 方法提供的带有系数值等的表提取或构造为 Pandas 数据框吗?

问题描述

我在 statsmodels 中运行了一个 OLS 模型,我希望将摘要中的表作为 Pandas 数据框。

这就是我的意思:

在此处输入图像描述

我希望构建/提取红框中的表格并成为 Pandas DataFrame。

到目前为止,我的代码很简单:

from statsmodels.regression.linear_model import OLS

mod = OLS(endog = coded_design_poly_select.response.values, exog = coded_design_poly_select.iloc[:, :-1].values)

fitted_model = mod.fit()

fitted_model.summary()

你有什么建议?

标签: pandaslinear-regressionpython-3.7statsmodels

解决方案


fitted_model实际上是一个存储所有回归结果的RegressionResults对象,您可以通过相应的方法/属性访问它们。

对于您的要求,我相信以下代码会起作用

data = {'coef': fitted_model.params,
        'std err': fitted_model.bse,
        't': fitted_model.tvalues,
        'P>|t|': fitted_model.pvalues,
        '[0.025': fitted_model.conf_int()[0],
        '0.975]': fitted_model.conf_int()[1]}

pd.DataFrame(data).round(3)

推荐阅读