"Zebra-Tabellen" in IPython Notebook?

9

Ich baue einige interaktive Workflows in IPython mit dem fantastischen Notebook für interaktive Analysen und Pandas.

Einige der Tabellen, die ich anzeige, wären mit ein wenig Formatierung viel einfacher zu lesen. Ich würde wirklich gerne etwas wie "Zebratabellen" mögen, wo jede andere Reihe schattiert ist. Ich lese hier , wie diese Formatierung über CSS implementiert werden kann. Gibt es eine wirklich direkte Methode, ein CSS auf ein IPython-Notebook anzuwenden und dann Tabellen mit dem Stylesheet zu rendern?

    
JD Long 25.05.2012, 19:33
quelle

3 Antworten

13

Sie können beliebiges JavaScript (mit jQuery) entweder in Markdown-Zellen innerhalb von <script> -Tags oder über IPythons IPython.core.display.Javascript -Klasse ausführen. Mit diesen können Sie das Dokument nach Herzenslust manipulieren (oder ruinieren), einschließlich des Hinzufügens von Stylesheets.

Zum Beispiel werden im Folgenden die entsprechend klassifizierten Tabellen angezeigt:

%Vor%

Wenn Sie das in eine Ihrer Markdown-Zellen stecken, wird es auf alles auf der Seite angewendet.

Oder Sie können den gleichen Code (minus <script> -Tags) von Python in einer Codezelle ausführen:

%Vor%

Aber dies wirkt sich nur auf Ihre Tabellen aus, die entsprechend klassifiziert sind, was dem Code entspricht, der den HTML-Code schreibt (z. B. in Pandas).

    
minrk 25.05.2012, 21:01
quelle
7

Ich habe gerade ein Projekt mit dem Namen ipy_table veröffentlicht, das einen einfachen Mechanismus zum Erstellen von reich formatierten Datentabellen in IPython-Notizbüchern bietet (Farben, Rahmen, Ausrichtung, Float-Formatierung, Zebra-Schattierung usw.). Das Projekt befindet sich auf Ссылка . Sie können sich von Ссылка .

    
Eric Moyer 27.12.2012 06:32
quelle
2

Wenn Sie Interesse daran haben, Grids / Tabellen mit slickgrid zu erstellen, aber in Python, dann interessieren Sie sich vielleicht für qgrid. Dies funktioniert von ipython-Notebooks mit Pandas.

Ссылка

Eine andere Option ist die Verwendung von Handsontable wie folgt:

Ссылка

Noch eine dritte Option, die nur Pandas benutzt, ist hier:

Pandas Dataframes to_html: Hervorhebung von Tabellenzeilen

Die vierte Option besteht darin, eine Vorlagen-Engine wie jinja2 wie folgt zu verwenden:

Pandas Dataframe-Anzeige auf einer Webseite

Ссылка

Schließlich gibt es ein offenes Problem in Pandas, basierend auf Vorlagen zu rendern:

Ссылка

P.S. Python-Guru von Google schlägt diese minimale Lösung vor (Vermeidung von Drittanbieter-Abhängigkeit):

Ссылка

oder lese sein Buch:

Python in Kürze, 2. Auflage, Kapitel 23 Strukturierter Text: HTML

    
denfromufa 06.02.2015 04:52
quelle