1168 Stimmen

Pretty-printen einer gesamten Pandas-Serie / DataFrame

Ich arbeite sehr viel mit Series und DataFrames auf dem Terminal. Der Standard-__repr__ für eine Series gibt eine reduzierte Stichprobe zurück, mit einigen Kopf- und Schwanzwerten, aber der Rest fehlt.

Gibt es eine integrierte Möglichkeit, die gesamte Series / DataFrame schön auszudrucken? Idealerweise sollte es eine richtige Ausrichtung unterstützen, vielleicht auch Grenzen zwischen den Spalten und vielleicht sogar eine Farbcodierung für die verschiedenen Spalten.

7voto

data princess Punkte 1160

Datascroller wurde teilweise geschaffen, um dieses Problem zu lösen.

pip install datascroller

Es lädt das DataFrame in eine Terminalansicht, die Sie mit der Maus oder den Pfeiltasten "scrollen" können, ähnlich wie eine Excel-Arbeitsmappe im Terminal, die Abfragen, Hervorhebungen usw. unterstützt.

import pandas as pd
from datascroller import scroll

# Rufen Sie `scroll` mit einem Pandas DataFrame als einzigem Argument auf:
my_df = pd.read_csv('')
scroll(my_df)

Hinweis: Ich bin einer der Autoren von datascroller

7voto

Giorgos Myrianthous Punkte 29317

Sie können expand_frame_repr auf False setzen:

display.expand_frame_repr : boolean

Ob der vollständige DataFrame-Repr für breite DataFrames über mehrere Zeilen ausgegeben werden soll, max_columns wird weiterhin respektiert, aber die Ausgabe wird über mehrere "Seiten" umgebrochen, wenn die Breite den Wert von display.width überschreitet.

[default: True]


pd.set_option('expand_frame_repr', False)

Weitere Details finden Sie unter So drucken Sie Pandas DataFrames und Series schön aus

3voto

Abhinav Ravi Punkte 724

Sie können dies mit der folgenden Methode erreichen. Geben Sie einfach die Gesamtzahl der Spalten im DataFrame als Argument an

'display.max_columns'

Zum Beispiel :

df= DataFrame(..)
with pd.option_context('display.max_rows', None, 'display.max_columns', df.shape[1]):
    print(df)

-3voto

JSVJ Punkte 500

Versuchen Sie die Verwendung der display() Funktion. Dadurch werden automatisch horizontale und vertikale Scrollleisten verwendet, mit denen Sie verschiedene Datensätze problemlos anzeigen können, anstatt print() zu verwenden.

display(dataframe)

display() unterstützt auch eine ordnungsgemäße Ausrichtung.

Wenn Sie jedoch den Datensatz schöner gestalten möchten, können Sie pd.option_context() überprüfen. Es hat viele Optionen, um das DataFrame klar anzuzeigen.

Hinweis - Ich benutze Jupyter Notebooks.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X