Wie kann ich einen Pandas-Datenrahmen als schöne textbasierte Tabelle wie folgt drucken?
+------------+---------+-------------+
| column_one | col_two | column_3 |
+------------+---------+-------------+
| 0 | 0.0001 | ABCD |
| 1 | 1e-005 | ABCD |
| 2 | 1e-006 | long string |
| 3 | 1e-007 | ABCD |
+------------+---------+-------------+
tabulate([list(row) for row in df.values], headers=list(df.columns))
den Index loswerdenprint(tabulate(df, **kwargs))
und nicht einfachtabulate(df, **kwargs)
; Letzteres zeigt alle neuen Zeilen\n
....showindex=False
Ein einfacher Ansatz ist die Ausgabe als HTML, was Pandas sofort tut :
quelle
Pandas> = 1,0
Wenn Sie möchten, dass eine eingebaute Funktion Ihre Daten in einem Github-Markdown speichert, haben Sie jetzt eine. Schauen Sie sich an
to_markdown
:So sieht das auf Github aus:
Beachten Sie, dass das
tabulate
Paket weiterhin installiert sein muss.quelle
Sie können Stettytable verwenden , um die Tabelle als Text zu rendern. Der Trick besteht darin, den data_frame in eine speicherinterne CSV-Datei zu konvertieren und von Stettytable lesen zu lassen. Hier ist der Code:
quelle
prettytable
wird größtenteils als Abbruchware angesehen. Schade auch, denn es war ein schönes Paket. :(prettytable
hat seit dem 6. April 2013 keine Veröffentlichung mehr.tabulate
ist sein spiritueller Vorgänger und hat regelmäßige Veröffentlichungen, die letzte am 24. Januar 2019.Wenn Sie sich in einem Jupyter-Notizbuch befinden, können Sie den folgenden Code ausführen, um den Datenrahmen interaktiv in einer gut formatierten Tabelle anzuzeigen.
Diese Antwort baut auf der obigen Antwort to_html ('temp.html') auf, aber anstatt eine Datei zu erstellen, wird die gut formatierte Tabelle direkt im Notizbuch angezeigt:
Gutschrift für diesen Code aufgrund eines Beispiels unter: DataFrame als Tabelle in iPython Notebook anzeigen
quelle
Ich habe Ofers Antwort eine Weile benutzt und fand sie in den meisten Fällen großartig. Leider aufgrund von Inkonsistenzen zwischen to_csv und hübschtable von pandas ich prettytable eine andere Methode verwenden.
Ein Fehlerfall ist ein Datenrahmen mit Kommas:
Prettytable löst einen Fehler in der Form aus:
Die folgende Funktion behandelt diesen Fall:
Wenn Sie sich nicht für den Index interessieren, verwenden Sie:
quelle
format_for_print()
Funktion scheint nicht den Index des Pandas DataFrame zu drucken. Ich habe den Index mit festgelegt,df.index.name = 'index'
aber dadurch wird die Indexspalte nicht mit einem Namen gedruckt.Im Anschluss an Mark Antwort, wenn Sie nicht Jupyter aus irgendeinem Grund, zB Sie einige schnelle Tests auf der Konsole machen wollen, können Sie das verwenden
DataFrame.to_string
Methode, die aus arbeitet - zumindest - Pandas 0,12 (2014) weiter .quelle
Vielleicht suchen Sie so etwas:
quelle
Ich wollte einen Papierausdruck eines Datenrahmens, aber ich wollte auch einige Ergebnisse und Kommentare auf derselben Seite hinzufügen. Ich habe das oben Genannte durchgearbeitet und konnte nicht bekommen, was ich wollte. Am Ende habe ich die Anweisungen file.write (df1.to_csv ()) und file.write (",,, blah ,,,,,, blah") verwendet, um meine Extras auf die Seite zu bringen. Als ich die CSV-Datei öffnete, ging es direkt zu einer Tabelle, in der alles im richtigen Tempo und Format gedruckt wurde.
quelle