【发布时间】:2014-02-13 03:29:26
【问题描述】:
我正在解决的数学问题在不同的情况下给出了不同的分析解决方案,我想将结果总结在一张漂亮的表格中。 IPython Notebook 很好地呈现了列表: 例如:
import sympy
from pandas import DataFrame
from sympy import *
init_printing()
a, b, c, d = symbols('a b c d')
t = [[a/b, b/a], [c/d, d/c]]
t
但是,当我使用 DataFrame 将答案汇总到表格中时,无法再呈现数学:
df = DataFrame(t, index=['Situation 1', 'Situation 2'], columns=['Answer1','Answer2'])
df
"print df.to_latex()" 也给出相同的结果。我也尝试过“print(latex(t))”,但它在 LaTex 中编译后给出了这个,这没关系,但我仍然需要手动将其转换为表格:
我应该如何正确使用 DataFrame 才能正确呈现数学?或者有没有其他方法可以将数学结果导出到 Latex 中的表格中?谢谢!
更新:2014 年 1 月 25 日 再次感谢@Jakob 解决了这个问题。它非常适用于简单的矩阵,尽管对于更复杂的数学表达式仍有一些小问题。但我想就像@asmeurer 所说,完美需要更新 IPython 和 Pandas。
更新:2014 年 1 月 26 日 如果我直接渲染结果,即只打印列表,它工作正常:
【问题讨论】:
-
This 可能有用。
-
谢谢,@TomAugspurger。我将他们的“df”中的一个值更改为“a/b”,但最终表格输出仍然无法很好地呈现数学。
-
我认为这是 stackoverflow.com/questions/18503351/… 的副本(所以我不会将其标记为这样,因为它无法在重复对话框中找到它)
-
特别是看到我对这个问题的评论。如果不改进 IPython 和/或 pandas,我认为这是不可能的。
-
可以试试直接渲染复杂的表达式吗?在这里,您更有可能达到 MathJax 的可能性,而 IPython、sympy 或 pandas 的更新将无法解决您的问题。
标签: pandas latex ipython ipython-notebook sympy