使用Statsmodels和Pandas从回归创建CSV文件

2024-09-30 04:39:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我一直在使用Statsmodels创建各种回归。我获取数据,将其格式化为Pandas数据帧,然后在这些数据上运行几个模型。我现在正努力将所有这些回归都输出为CSV文件。我的目标是将我所有的“回归数据”(即每个控制/变量的系数、截距、标准误差等,以及观察值的数量和一些其他数据点)放在一个轴上,每个回归的标题构成另一个轴。在

到目前为止,我已经尝试了多种方法,其中一种看起来最有希望。这种方法一直在使用

results = FoodPriceReg(PriceChange, RightHandVars)
regexport = RegToCSV(results)
return regexport

将打印的摘要转换为CSV文件。然后我使用

^{pr2}$

以CSV+.dta文件的形式输出每个食品类别的回归值。在

我还尝试过将CSV文件排序到嵌套列表中,并将它们转换为数据帧,并尝试使用它们。我遇到的最大问题是CSV输出非常粗糙,很难处理。它不像其他Pandas数据帧那样有组织,我一直无法想出一个合理简单的解决方案来对CSV中的所有数据进行排序,这样,如果你在Excel中打开它,每一条信息都会在它自己的单元格中结束。在

为了澄清一下,现在我最后的CSV输出的每个单元格看起来像

Dep. Variable:   ,ParboiledCoarseRice2014,  R-squared:         ,   0.010
Model:           ,OLS                    ,  Adj. R-squared:    ,  -0.000
Method:          ,Least Squares          ,  F-statistic:       ,  0.9711 
            ,   coef   , std err ,    t    ,P>|t| ,  [0.025 ,  0.975] 
Intercept   ,   28.5204,    0.216,  131.855, 0.000,   28.095,   28.945
Cash        ,    4.5696,    0.501,    9.112, 0.000,    3.584,    5.555
Food        ,    4.1321,    0.501,    8.240, 0.000,    3.147,    5.117
FoodCash    ,    4.2496,    0.501,    8.474, 0.000,    3.264,    5.235
CashTraining,    5.2596,    0.675,    7.787, 0.000,    3.933,    6.587
FoodTraining,    5.8696,    0.675,    8.691, 0.000,    4.543,    7.197
Control     ,    4.4396,    0.501,    8.853, 0.000,    3.454,    5.425

而我希望每一条信息都是自己的行,比如:

Model: ParboiledCoarseRice2014 ~ Treatment Dummies
R-squared: 0.010
Cash Coef: 4.5696
Cash Std Err: 0.501

我在想,我在使用Statsmodels时遗漏了一些基本的东西,因为回归的输出很少有文档记录,但似乎对于从包中获得更多的使用是必不可少的。在


Tags: 文件csv数据方法模型信息pandasmodel

热门问题