Formatting latex (to_latex) output

流过昼夜 提交于 2021-02-05 20:10:01

问题


I've read about the to_latex method, but it's not clear how to use the formatters argument.

I have some numbers which are too long and some which I want thousand separators.

A side issue for the to_latex method on multi-indexed tables, the indices are parsed together and it issues some &s in the latex output.


回答1:


For a simple data frame. First, without formatters:

In [11]: df
Out[11]: 
              c1        c2
first   0.821354  0.936703
second  0.138376  0.482180

In [12]: print df.to_latex()
\begin{tabular}{|l|c|c|c|}
\hline
{} &        c1 &        c2 \\
\hline
first  &  0.821354 &  0.936703 \\
second &  0.138376 &  0.482180 \\
\hline
\end{tabular}

Copy-pasting the output (of [12]) to latex, we get: latex without formatters

If we create two functions f1 and f2 and put them into to_latex as formatters:

def f1(x):
    return 'blah_%1.2f' % x

def f2(x):
    return 'f2_%1.2f' % x

In [15]: print df.to_latex(formatters=[f1, f2])
\begin{tabular}{|l|c|c|c|}
\hline
{} &        c1 &      c2 \\
\hline
first  & blah\_0.82 & f2\_0.94 \\
second & blah\_0.14 & f2\_0.48 \\
\hline
\end{tabular}

Copy-pasting the output to latex, we get: latex with formatters f1 and f2

Note: how the formatter function f1 is applied to the first column and f2 to the second.



来源:https://stackoverflow.com/questions/15069814/formatting-latex-to-latex-output

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!