我无法在我的IPython笔记本中可视化使用来自pandas的dataframe.to_latex()
生成的Latex表。它在框中显示带有"\begin.."
行的确切字符串。
我也很好奇为什么要格式化表格{lrrrrr}
以及如何使用分隔{l|c|c|c|c}
等值的行来更改列。
我不太确定我的设置是否存在问题,我想知道是否还有使用pandas.dataframe.to_latex()
格式化Latex渲染表的文档。我使用IPython notebook(0.132)和Pandas(0.13)。我正在运行Ubuntu 13.04,Texlive2012。
IPython Notebook代码:
df = pd.DataFrame(np.random.random((5, 5)))
print df.to_latex()
IPython笔记本输出即使在复制并作为markdown运行后,也只添加了文本周围的框。
\begin{tabular}{lrrrrr}
\toprule
{} & 0 & 1 & 2 & 3 & 4 \\
\midrule
0 & 0.021896 & 0.716925 & 0.599158 & 0.260573 & 0.665406 \\
1 & 0.467573 & 0.235992 & 0.557386 & 0.640438 & 0.528914 \\
2 & 0.872155 & 0.053389 & 0.419169 & 0.613036 & 0.606046 \\
3 & 0.130878 & 0.732334 & 0.168879 & 0.039845 & 0.289991 \\
4 & 0.247346 & 0.370549 & 0.906652 & 0.228841 & 0.766951 \\
\bottomrule
\end{tabular}
我很感激任何帮助,因为我对熊猫和SciPy套件所做的精彩事情仍然很新!
答案 0 :(得分:2)
1)Live Notebook不支持完整的LaTeX,它支持Math。表不是数学。因此表不会呈现。
2)您正在打印乳胶表示,因此您不会触发显示挂钩。因此只会显示文字。
3)不要“选择”你喜欢的对象的表示,只需from IPython.display import display
和display(object)
让IPython处理你的其余部分,你将在notebok中得到一个漂亮的html表。 to_latex
,to_xls
对于那些知道他们正在使用原始数据做什么的人来说,等等。
一般情况下,尽量避免在同一篇文章中提出许多问题。和IPython 0.13.2 真的很旧,你应该考虑更新。
答案 1 :(得分:0)
你可以使用sympy
import pandas as pd
import numpy as np
from sympy import *
init_printing()
df = pd.DataFrame(np.random.random((5, 5)))
Matrix(df.as_matrix())