【问题标题】:statsmodels summary to latexstatsmodels汇总到乳胶
【发布时间】:2015-05-03 08:10:11
【问题描述】:

我是 Latex 的新手,我想将 statsmodels(python-package) 摘要导入到我的 Latex 报告中。我发现可以使用以下方法将摘要转换为乳胶表格:latex_as_tabular。到目前为止,一切正常。现在我必须存储表格,但我不太明白它是如何工作的。

我想我必须使用以下命令:

x_values=sm.add_constant(x_values)
model=sm.OLS(y_values, x_values)
results=model.fit()
tbl=results.summary(xname=['b,'a'],yname='y')
with open('c:/temp/temp.tex','w') as fh:
    fh.write( tbl.as_latex_tabular() )

此代码直到现在才起作用。大多数情况下,控制台都会给出错误:tex-file does not exist or not allowed in this map。我真的不明白我必须在这里做什么。有人可以帮我吗?

【问题讨论】:

  • 请考虑将错误堆栈跟踪添加到您的问题中,以便其他有类似问题的人更容易找到您的问题。
  • 示例代码中存在错误:A ' is missing to close character b。另外,我建议根据 PEP8 进行编码,特别是在运算符周围有空格。

标签: python latex statsmodels


【解决方案1】:

这似乎是一个误解。您可以通过summary.as_latex() 将整个摘要转换为latex,也可以通过为每个表调用table.as_latex_tabular() 来逐个转换其表。

以下示例代码取自 statsmodels 文档。请注意,您不能在 summary 对象上调用 as_latex_tabular

import numpy as np
import statsmodels.api as sm

nsample = 100
x = np.linspace(0, 10, 100)
X = np.column_stack((x, x**2))
beta = np.array([1, 0.1, 10])
e = np.random.normal(size=nsample)

X = sm.add_constant(X)
y = np.dot(X, beta) + e

model = sm.OLS(y, X)
results = model.fit()

# do either
print(results.summary().as_latex())

# alternatively
for table in results.summary().tables:
    print(table.as_latex_tabular())

【讨论】:

  • 好吧,你是对的。但我仍然不清楚如何将它插入到 tex 文件中。夏天被转换成乳胶字符串,然后?
  • 之后你有一个带有乳胶代码的字符串 - 不多也不少。你用那个字符串做什么取决于你。你可以例如将该字符串写入文件并将该文件包含在您的一个乳胶文档中。
  • @cel,如果你能看看这个,我将不胜感激,谢谢:stackoverflow.com/questions/44759309/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-02
  • 1970-01-01
  • 2021-04-03
  • 1970-01-01
  • 2015-01-20
相关资源
最近更新 更多