我使用statsmodels來進行OLS估計。結果可以在控制檯上使用print(results.summary())
進行研究。我想存儲與.png文件相同的表格。下面是一個帶有可重複示例的片段。將statsmodels結果保存爲Python作爲圖像文件
import pandas as pd
import numpy as np
import matplotlib.dates as mdates
import statsmodels.api as sm
# Dataframe with some random numbers
np.random.seed(123)
rows = 10
df = pd.DataFrame(np.random.randint(90,110,size=(rows, 2)), columns=list('AB'))
datelist = pd.date_range(pd.datetime(2017, 1, 1).strftime('%Y-%m-%d'), periods=rows).tolist()
df['dates'] = datelist
df = df.set_index(['dates'])
df.index = pd.to_datetime(df.index)
print(df)
# OLS estimates using statsmodels.api
x = df['A']
y = df['B']
model = sm.OLS(y,sm.add_constant(x)).fit()
# Output
print(model.summary())
我做了使用建議here有些幼稚的嘗試,但我懷疑我遠離目標:
os.chdir('C:/images')
sys.stdout = open("model.png","w")
print(model.summary())
sys.stdout.close()
到目前爲止,這只是提出了一個很長的錯誤信息。
謝謝你的任何建議!
謝謝!正如你所建議的那樣,我會直接進入文本渲染選項,看看我能做些什麼。 – vestland
關於matplotlib的建議在我嘗試使用等間隔字體時做了一些技巧:'plt.text(0.01,0.05,str(results1。summary()),{'fontsize':10},fontproperties ='monospace')'再次感謝! – vestland
啊,非常好。與全乳膠相比,我仍然認爲這種方法低於標準。但誰知道你需要什麼。 matplotlib方法的缺點是像我一樣手動調整。不過謝謝你提到的字體! – sascha