问题
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:
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:
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