Wie Math Table richtig in IPython Notebook rendern

9

Das mathematische Problem, das ich löse, gibt verschiedene analytische Lösungen in verschiedenen Szenarien, und ich möchte das Ergebnis in einer schönen Tabelle zusammenfassen. IPython Notebook rendert die Liste schön: zum Beispiel:

%Vor%

Wenn ich jedoch die Antworten mithilfe von DataFrame in einer Tabelle zusammenfasse, kann die Mathematik nicht mehr gerendert werden:

%Vor%

"print df.to_latex ()" liefert auch das gleiche Ergebnis. Ich habe auch versucht "print (latex (t))", aber es gibt dies nach dem Kompilieren in LaTex, das ist in Ordnung, aber ich muss es noch manuell in eine Tabelle konvertieren:

Wie sollte ich DataFrame richtig verwenden, um die Mathematik richtig zu rendern? Oder gibt es eine andere Möglichkeit, das Mathergebnis in eine Tabelle in Latex zu exportieren? Danke!

Aktualisierung: 25.01.14 Danke nochmal an @Jakob für die Lösung des Problems. Es funktioniert perfekt für einfache Matrizen, obwohl es immer noch einige kleinere Probleme für kompliziertere mathematische Ausdrücke gibt. Aber ich denke, wie @asmeurer sagte, Perfektion erfordert ein Update in IPython und Pandas.

Aktualisierung: 26.01.14 Wenn ich das Ergebnis direkt rendere, d. H. Einfach die Liste drucke, funktioniert es gut:

    
Titanic 22.01.2014, 20:49
quelle

1 Antwort

4

MathJax kann derzeit keine Tabellen darstellen, daher funktioniert der offensichtlichste Ansatz (reines Latex) nicht.

Nach dem Hinweis von @asmeurer sollten Sie jedoch eine HTML-Tabelle verwenden und den Zelleninhalt als Latex darstellen. In Ihrem Fall könnte dies leicht durch den folgenden Zwischenschritt erreicht werden:

%Vor%

das gibt:

Aktualisierung:

Bei zweidimensionalen Daten funktioniert die einfache Kartenfunktion nicht direkt. Um mit dieser Situation fertig zu werden, könnten die Funktionen numpy shape , reshape und ravel wie folgt verwendet werden:

%Vor%

Dies ergibt:

Update 2:

Pandas schneidet den Zellinhalt ab, wenn die Stringlänge eine bestimmte Anzahl überschreitet. ZB ein komplizierterer Ausdruck wie

%Vor%

gibt:

Um mit diesem Problem fertig zu werden, muss eine Pandas-Paket-Option geändert werden, für Details siehe hier . Für den vorliegenden Fall muss die max_colwidth geändert werden. Der Standardwert ist 50, also ändern wir ihn auf 100:

%Vor%

gibt:

    
Jakob 24.01.2014, 08:12
quelle