Print OLS regression summary to text file

前端 未结 2 2099
Happy的楠姐
Happy的楠姐 2021-02-15 10:29

I am running OLS regression using pandas.stats.api.ols using a groupby with the following code:

from pandas.stats.api import ols
df=pd.         


        
相关标签:
2条回答
  • 2021-02-15 10:30

    In order to write out the result of pandas.stats.api.ols, use a text file to match the output format, for instance:

    from pandas.stats.api import ols
    grps = df.groupby(['FID'])
    for fid, grp in grps:
        result = ols(y=grp.loc[:, 'MEAN'], x=grp.loc[:, ['Accum_Prcp', 'Accum_HDD']])
    
        text_file = open("Output {}.txt".format(fid), "w")
        text_file.write(result.summary)
        text_file.close()
    
    0 讨论(0)
  • 2021-02-15 10:56

    As of statsmodels 0.9, the Summary class supports export to multiple formats, including CSV and text:

    import numpy as np
    import statsmodels.api as sm
    import statsmodels.formula.api as smf
    
    dat = sm.datasets.get_rdataset("Guerry", "HistData").data
    results = smf.ols('Lottery ~ Literacy + np.log(Pop1831)', data=dat).fit()
    
    with open('summary.txt', 'w') as fh:
        fh.write(results.summary().as_text())
    
    with open('summary.csv', 'w') as fh:
        fh.write(results.summary().as_csv())
    

    The output of as_csv() is not machine-readable. Dumping results parameters with repr() would be.

    0 讨论(0)
提交回复
热议问题