Ich arbeite viel mit Serien und DataFrames am Terminal. Die Standardeinstellung __repr__
für eine Serie gibt eine reduzierte Stichprobe mit einigen Kopf- und Endwerten zurück, der Rest fehlt jedoch.
Gibt es eine integrierte Möglichkeit, die gesamte Serie / den gesamten DataFrame hübsch zu drucken? Im Idealfall würde es die richtige Ausrichtung unterstützen, möglicherweise Ränder zwischen Spalten und möglicherweise sogar die Farbcodierung für die verschiedenen Spalten.
pd.set_option('display.max_rows', 1000)
beispielsweise ändern können. Die Färbung ist etwas anderes. Ich gehe davon aus, dass Sie über das Färben der HTML-Repr-Ausgabe sprechen. Ich denke nicht, dass dies überhaupt eingebaut ist.display.max_rows
, das Problem ist, dass ich die meiste Zeit möchte, dass die Ausgabe abgeschnitten wird. Es ist nur gelegentlich, dass ich die volle Ausgabe sehen möchte. Ich könnte die Option auf einen sehr hohen Wert setzen, die Standardeinstellung verwenden__repr__
und dann den Wert zurücksetzen, aber das scheint etwas umständlich zu sein, und in diesem Fall könnte ich auch meine eigene hübsche Druckfunktion schreiben.set_option
, die die Farbgebung unterstützen. Dies könnte möglicherweise als Plugin zum Anwenden von CSS- oder Ausgabeformatierungen erfolgen. Dies ist der einzige Weg, wie ich denke, dass Sie dies erreichen könnenAntworten:
Sie können auch die
option_context
mit einer oder mehreren Optionen verwenden:Dadurch werden die Optionen automatisch auf ihre vorherigen Werte zurückgesetzt.
Wenn Sie an einem Jupyter-Notebook arbeiten, wird bei Verwendung von
display(df)
anstelle vonprint(df)
eine jupyterreiche Anzeigelogik verwendet (wie so) .quelle
None
sie ausgeschaltet werden. Mit Hilfe derwith pd.option_context()
Option Dokumente , welche auf sehr klar wird und explizit, und es wird deutlich , wie andere Änderungen in der Ausgabe zu erreichen , dass die Formatierung erwünscht sein kann, zB mitprecision
,max_colwidth
,expand_frame_repr
,colheader_justify
,date_yearfirst
,encoding
, und viele viele mehr: pandas.pydata.org/pandas -docs / Stable / Options.htmldisplay(df)
anstelle vonprint(df)
Einstellungen müssen nicht gehackt werden. Es gibt einen einfachen Weg:
quelle
with pd.option_context()
Option Dokumente , welche auf viel wird mehr klar und deutlich, und es wird deutlich , wie andere Änderungen in der Ausgabe zu erreichen , dass die Formatierung erwünscht sein kann, zB mitprecision
,max_colwidth
,expand_frame_repr
,colheader_justify
,date_yearfirst
,encoding
, und viele viele mehr: pandas.pydata.org/ pandas-docs / stabile / options.htmlpd.set_option('display.max_rows', None)
kurz vor dem Drucken zu verwendendf
.Sicher, wenn dies häufig vorkommt, machen Sie eine Funktion wie diese. Sie können es sogar so konfigurieren, dass es bei jedem Start von IPython geladen wird: https://ipython.org/ipython-doc/1/config/overview.html
Was das Färben angeht, klingt es für mich kontraproduktiv, mit Farben zu aufwändig umzugehen, aber ich stimme zu, dass so etwas wie Bootstraps
.table-striped
schön wäre. Sie können jederzeit ein Problem erstellen , um diese Funktion vorzuschlagen.quelle
Legen Sie nach dem Importieren von Pandas als Alternative zur Verwendung des Kontextmanagers folgende Optionen für die Anzeige ganzer Datenrahmen fest:
Eine vollständige Liste nützlicher Optionen finden Sie unter:
quelle
-1
int Wert anstelle von verwendenNone
, wenn Sie vollständige Darstellung wünschendisplay.
des Optionsnamens scheint nicht erforderlich zu sein. Funktioniert zum Beispielset_option('max_columns')
genauso gut.Verwenden Sie das Tabellenpaket:
Betrachten Sie die folgende Beispielverwendung:
quelle
pd_series.to_frame()
Wenn Sie Ipython Notebook (Jupyter) verwenden. Sie können HTML verwenden
quelle
Verwenden von
pd.options.display
Diese Antwort ist eine Variation der vorherigen Antwort von Lucidyan . Es macht den Code besser lesbar, indem die Verwendung von vermieden wird
set_option
.Legen Sie nach dem Importieren von Pandas als Alternative zur Verwendung des Kontextmanagers folgende Optionen für die Anzeige großer Datenrahmen fest:
Danach können Sie entweder
display(df)
oder nurdf
ein Notebook verwenden, andernfallsprint(df)
.Verwenden von
to_string
Pandas 0.25.3 hat
DataFrame.to_string
undSeries.to_string
Methoden , die Formatierungsoptionen akzeptieren.Verwenden von
to_markdown
Wenn Sie eine Markdown-Ausgabe benötigen, verfügt Pandas 1.0.0 über Methoden
DataFrame.to_markdown
undSeries.to_markdown
Methoden.Verwenden von
to_html
Wenn Sie eine HTML-Ausgabe benötigen, verfügt Pandas 0.25.3 über eine
DataFrame.to_html
Methode, jedoch nicht über eineSeries.to_html
. Beachten Sie, dass einSeries
kann konvertierte zu einerDataFrame
.quelle
Versuche dies
quelle
Sie können dies mit der folgenden Methode erreichen. Übergeben Sie einfach die Gesamtzahl. von Spalten, die im DataFrame als arg to vorhanden sind
Zum Beispiel:
quelle
Versuchen Sie es mit der Funktion display (). Dies würde automatisch horizontale und vertikale Bildlaufleisten verwenden und mit dieser können Sie verschiedene Datensätze einfach anzeigen, anstatt print () zu verwenden.
display () unterstützt auch die korrekte Ausrichtung.
Wenn Sie den Datensatz jedoch schöner gestalten möchten, können Sie dies überprüfen
pd.option_context()
. Es gibt viele Optionen, um den Datenrahmen klar anzuzeigen.Hinweis - Ich verwende Jupyter-Notizbücher.
quelle