Форматирование вывода латекса (to_latex)

Я прочитал о методе to_latex, но не ясно , как использовать аргумент formatters.

У меня есть несколько чисел, которые слишком длинны, и некоторые из которых я хочу тысяч разделителей.

Сторона issue для метода to_latex для многоиндексных таблиц, индексы анализируются вместе и выдает некоторые & в выходе латекса.

Ответ 1

Для простого фрейма данных. Во-первых, без форматирования:

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}

Скопируйте в конец латексного вывода ([12]) на латекс, получим: latex without formatters

Если мы создадим две функции f1 и f2 и поместим их в to_latex как 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}

Скопируйте данные в латекс, получим: latex with formatters f1 and f2

Примечание: как функция форматирования f1 применяется к первому столбцу и f2 ко второй.