2013-02-25 20 views
11

Ich habe about the to_latex Methode gelesen, aber es ist nicht klar, , wie das Formatierer Argument zu verwenden.Formatierung Latex (to_latex) Ausgabe

Ich habe einige Zahlen, die zu lange und einige sind, die ich Tausendertrennzeichen wollen.

Eine Seiten issue für die to_latex Verfahren auf Mehr indexierte Tabellen sind die Indizes zusammen analysiert und es gibt einige & s in dem Latex-Ausgang.

+0

Aus der Antwort unten können Sie nach Python-Formatierungsfunktionen suchen (zu lange wurde bereits erwähnt, und vielleicht sehen Sie [hier für tausend Trennzeichen] (http://StackOverflow.com/q/1823058/1240268)). –

Antwort

19

Für einen einfachen Datenrahmen. Zuerst ohne Formatierer:

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-Einfügen der Ausgabe (von [12]) zu Latex, erhalten wir: latex without formatters

Wenn wir zwei Funktionen erstellen f1 und f2 und stecken sie in to_latex als 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-Einfügen der Ausgang auf Latex, erhalten wir: latex with formatters f1 and f2

Anmerkung: Wie die Forma Funktion f1 zu der ersten Spalte und f2 auf den zweiten aufgetragen wird.

+0

Ich habe Code geschrieben, um die folgenden Probleme zu behandeln: * Pandas Multi-Indizes * Umgang mit Latex reservierten Zeichen in der Tabelle. Standard-Pandas-Methode führt zu Fehlern bei der Latex-Kompilierung, wenn '&', '%', '$', '#' usw. in irgendeiner der Zellen verwendet werden. sie müssen entwertet werden * auch Code geschrieben, der die Latex-Darstellung des Pandas Datenrahmen (Beschattung abwechselnde Reihen) * auch Autoformatierung Zahlen Methoden sind gebunden in in Latex-Erzeugungs Klasse Band, dass ‚n so schwer schrieb Post hier als Code ist etwas unordentlich. Ich freue mich, hier zu posten, wenn jemand Hilfe braucht. – Joop

+0

Wenn Sie nur Float-Spalten formatieren möchten, legen Sie den Parameter float_format auf Ihre Format-Funktion fest. Sie müssen dafür keine Liste von Funktionen erstellen. – srodriguex