Update: Pandas ab 0.23.4
Dies ist nicht erforderlich. Pandas erkennt automatisch die Größe Ihres Terminalfensters, wenn Sie dies festlegen pd.options.display.width = 0
. (Für ältere Versionen siehe unten.)
pandas.set_printoptions(...)
ist veraltet. Verwenden Sie stattdessen pandas.set_option(optname, val)
oder gleichwertigpd.options.<opt.hierarchical.name> = val
. Mögen:
import pandas as pd
pd.set_option('display.max_rows', 500)
pd.set_option('display.max_columns', 500)
pd.set_option('display.width', 1000)
Hier ist das Hilfe fürset_option
:
set_option (pat, value) - Legt den Wert der angegebenen Option fest
Verfügbare Optionen:
Anzeige. [chop_threshold, colheader_justify, column_space, date_dayfirst,
date_yearfirst, encoding, expand_frame_repr, float_format, height,
line_width, max_columns, max_colwidth, max_info_columns, max_info_rows,
max_rows, max_seq_items, mpl_style, multi_sparse, notebook_repr_html,
pprint_nest_depth, Präzision, Breite]
Modus. [sim_interactive, use_inf_as_null]
Parameter
----------
pat - str / regexp, das einer einzelnen Option entsprechen sollte.
Hinweis: Teilübereinstimmungen werden aus praktischen Gründen unterstützt, es sei denn, Sie verwenden die
Vollständiger Optionsname (egxyzoption_name), Ihr Code kann in Zukunft beschädigt werden
Versionen, wenn neue Optionen mit ähnlichen Namen eingeführt werden.
value - neuer Wert der Option.
Kehrt zurück
-------
Keiner
Erhöht
------ ------.
KeyError, wenn keine solche Option vorhanden ist
display.chop_threshold: [Standard: Keine] [derzeit: Keine]
: float oder None
Wenn ein Float-Wert festgelegt ist, sind alle Float-Werte kleiner als der angegebene Schwellenwert
wird von repr und Freunden als genau 0 angezeigt.
display.colheader_justify: [Standard: rechts] [aktuell: rechts]
: 'links rechts'
Steuert die Ausrichtung von Spaltenüberschriften. wird von DataFrameFormatter verwendet.
display.column_space: [Standard: 12] [derzeit: 12] Keine Beschreibung verfügbar.
display.date_dayfirst: [Standard: False] [derzeit: False]
: Boolescher Wert
Wenn True, werden Daten mit dem ersten Tag gedruckt und analysiert, z. B. am 20.01.2005
display.date_yearfirst: [Standard: False] [aktuell: False]
: Boolescher Wert
Wenn True, werden Drucke und Analysen mit dem ersten Jahr erstellt, z. B. 2005/01/20
display.encoding: [Standard: UTF-8] [derzeit: UTF-8]
: str / unicode
Standardmäßig wird die erkannte Codierung der Konsole verwendet.
Gibt die Codierung an, die für von to_string zurückgegebene Zeichenfolgen verwendet werden soll.
Dies sind im Allgemeinen Zeichenfolgen, die auf der Konsole angezeigt werden sollen.
display.expand_frame_repr: [Standard: True] [derzeit: True]
: Boolescher Wert
Gibt an, ob der vollständige DataFrame-Repräsentant für breite DataFrames ausgedruckt werden soll
Über mehrere Zeilen hinweg wird "max_columns" weiterhin berücksichtigt, die Ausgabe jedoch
Wrap-Around über mehrere "Seiten", wenn die Breite "display.width" überschreitet.
display.float_format: [Standard: Keine] [derzeit: Keine]
: aufrufbar
Der Callable sollte eine Gleitkommazahl akzeptieren und zurückkehren
eine Zeichenfolge mit dem gewünschten Format der Nummer. Dies wird verwendet
an einigen Orten wie SeriesFormatter.
Ein Beispiel finden Sie unter core.format.EngFormatter.
display.height: [Standard: 60] [derzeit: 1000]
: int
Veraltet.
(Veraltet, verwenden Sie stattdessen `display.height`.)
display.line_width: [Standard: 80] [derzeit: 1000]
: int
Veraltet.
(Veraltet, verwenden Sie stattdessen "display.width".)
display.max_columns: [Standard: 20] [derzeit: 500]
: int
max_rows und max_columns werden in __repr __ () -Methoden verwendet, um zu entscheiden, ob
to_string () oder info () wird verwendet, um ein Objekt in einen String zu rendern. Im Falle
Python / IPython läuft in einem Terminal, dies kann auf 0 und Pandas gesetzt werden
erkennt die Breite des Terminals automatisch und wechselt zu einer kleineren
Format für den Fall, dass nicht alle Spalten vertikal passen würden. Das IPython-Notizbuch,
IPython qtconsole oder IDLE werden nicht in einem Terminal ausgeführt und sind es daher nicht
korrekte automatische Erkennung möglich.
Der Wert "Keine" bedeutet unbegrenzt.
display.max_colwidth: [Standard: 50] [derzeit: 50]
: int
Die maximale Breite in Zeichen einer Spalte in der Repräsentation von
eine Pandas-Datenstruktur. Wenn die Spalte überläuft, wird ein "..."
Platzhalter ist in die Ausgabe eingebettet.
display.max_info_columns: [Standard: 100] [derzeit: 100]
: int
max_info_columns wird in der DataFrame.info-Methode verwendet, um zu entscheiden, ob
Pro Spalte werden Informationen gedruckt.
display.max_info_rows: [Standard: 1690785] [derzeit: 1690785]
: int oder None
max_info_rows ist die maximale Anzahl von Zeilen, für die ein Frame verwendet wird
Führen Sie eine Nullprüfung für die Spalten durch, wenn Sie eine Konsole erneut anzeigen.
Der Standardwert beträgt 1.000.000 Zeilen. Also, wenn ein DataFrame mehr hat
1.000.000 Zeilen Es wird keine Nullprüfung für die durchgeführt
Spalten und damit die Darstellung wird viel weniger Zeit in Anspruch nehmen
Anzeige in einer interaktiven Sitzung. Ein Wert von None bedeutet immer
Führen Sie beim Repr'ing eine Nullprüfung durch.
display.max_rows: [Standard: 60] [derzeit: 500]
: int
Dies legt die maximale Anzahl von Zeilen fest, die Pandas beim Drucken ausgeben sollen
aus verschiedenen Ausgaben. Dieser Wert bestimmt beispielsweise, ob repr ()
für einen Datenrahmen wird er vollständig oder nur als Zusammenfassung ausgedruckt.
Der Wert "Keine" bedeutet unbegrenzt.
display.max_seq_items: [Standard: Keine] [derzeit: Keine]
: int oder None
Wenn Sie eine lange Sequenz hübsch drucken, nicht mehr als "max_seq_items"
wird gedruckt. Wenn Elemente ausgelassen werden, werden sie durch den Zusatz gekennzeichnet
von "..." auf die resultierende Zeichenfolge.
Bei der Einstellung Keine ist die Anzahl der zu druckenden Elemente unbegrenzt.
display.mpl_style: [Standard: Keine] [derzeit: Keine]
: bool
Wenn Sie dies auf "Standard" setzen, werden die von matplotlib verwendeten rcParams geändert
um Plots standardmäßig einen ansprechenderen visuellen Stil zu verleihen.
Wenn Sie dies auf Keine / Falsch setzen, werden die Werte auf ihren Anfangswert zurückgesetzt.
display.multi_sparse: [Standard: True] [derzeit: True]
: Boolescher Wert
MultiIndex-Anzeige "sparsify" (Anzeige nicht wiederholt
Elemente in äußeren Ebenen innerhalb von Gruppen)
display.notebook_repr_html: [Standard: True] [derzeit: True]
: Boolescher Wert
Wenn True, verwendet das IPython-Notizbuch die HTML-Darstellung für
Pandas-Objekte (falls verfügbar).
display.pprint_nest_depth: [Standard: 3] [aktuell: 3]
: int
Steuert die Anzahl der verschachtelten Ebenen, die beim hübschen Drucken verarbeitet werden sollen
display.precision: [Standard: 7] [aktuell: 7]
: int
Gleitkomma-Ausgabegenauigkeit (Anzahl der signifikanten Stellen). Das ist
nur ein Vorschlag
display.width: [Standard: 80] [derzeit: 1000]
: int
Breite der Anzeige in Zeichen. Falls Python / IPython ausgeführt wird
Ein Terminal, das auf None gesetzt werden kann, und Pandas erkennen das automatisch automatisch
Breite.
Beachten Sie, dass das IPython-Notizbuch, IPython qtconsole oder IDLE nicht in a ausgeführt werden
Terminal und daher ist es nicht möglich, die Breite korrekt zu erfassen.
mode.sim_interactive: [Standard: False] [derzeit: False]
: Boolescher Wert
Gibt an, ob der interaktive Modus zu Testzwecken simuliert werden soll
mode.use_inf_as_null: [Standard: False] [derzeit: False]
: Boolescher Wert
True bedeutet, None, NaN, INF, -INF als null zu behandeln (alter Weg),
False bedeutet None und NaN sind null, aber INF, -INF sind nicht null
(neuer Weg).
Rufen Sie def: pd.set_option (self, * args, ** kwds) auf.
BEARBEITEN: Informationen zu älteren Versionen, ein Großteil davon ist veraltet.
Wie @bmu erwähnt , erkennt pandas automatisch (standardmäßig) die Größe des Anzeigebereichs. Eine Zusammenfassungsansicht wird verwendet, wenn ein Objektrepräsentant nicht auf die Anzeige passt. Sie haben erwähnt, dass die Größe des IDLE-Fensters ohne Wirkung geändert wird. Wenn ja, print df.describe().to_string()
passt es in das IDLE-Fenster?
Die Terminalgröße wird bestimmt durch pandas.util.terminal.get_terminal_size()
(veraltet und entfernt). Dies gibt ein Tupel zurück, das das (width, height)
der Anzeige enthält. Entspricht die Ausgabe der Größe Ihres IDLE-Fensters? Möglicherweise liegt ein Problem vor (es gab eines zuvor beim Ausführen eines Terminals in Emacs).
Beachten Sie, dass es möglich ist, die automatische Erkennung zu umgehen und pandas.set_printoptions(max_rows=200, max_columns=10)
niemals zur Zusammenfassungsansicht zu wechseln, wenn die Anzahl der Zeilen und Spalten die angegebenen Grenzwerte nicht überschreitet.
Die Option 'max_colwidth' hilft dabei, die nicht abgeschnittene Form jeder Spalte anzuzeigen.
display.height
stattdessen verwenden ... Ich bin in einer Sackgasse.pd.options
z. B.pd.options.display.max_rows = 999
.head()
oder was auch immer versehentlich 400 Seiten Junk gedruckt werden .Versuche dies:
Aus der Dokumentation:
Siehe: http://pandas.pydata.org/pandas-docs/stable/generated/pandas.set_option.html
quelle
pandas\core\config_init.py
, um es dauerhaft einzustellen.Wenn Sie Optionen vorübergehend festlegen möchten, um einen großen DataFrame anzuzeigen, können Sie option_context verwenden :
Optionswerte werden beim Verlassen des
with
Blocks automatisch wiederhergestellt .quelle
None
kann verwendet werden (anstelle von 999 usw.).with pd.option_context('display.max_rows', None, 'display.max_columns', None): print(energy)
hat nicht funktioniert. Die Anzahl der Spalten, die ich sehen wollte, wurde nicht geändert. Die Lösung von Wouter Overmeiere hat jedoch funktioniert.-1
oder500
, keine.max_rows
Wert;). Die Einstellung'display.max_rows'
auf -1 scheint die Formatierung völlig durcheinander zu bringen (für meine Daten kein Absturz, aber es werden bestimmte Zeilen jetzt mehrmals gedruckt).Nur die Verwendung dieser 3 Zeilen hat bei mir funktioniert:
Anaconda / Python 3.6.5 / pandas: 0.23.0 / Visual Studio Code 1.26
quelle
Stellen Sie die maximale Spaltenbreite ein mit:
Diese spezielle Anweisung legt die maximale Breite auf 800 Pixel pro Spalte fest.
quelle
display.max_colwidth
? So ist es in der Dokumentation aufgeführt. Ich bin damit einverstanden, dass nurmax_colwidth
funktioniert und kürzer zu schreiben ist, aber ich war überrascht.Sie können
print df.describe().to_string()
erzwingen, dass die gesamte Tabelle angezeigt wird. (Sie könnento_string()
dies für jeden DataFrame verwenden. Das Ergebnis vondescribe
ist nur ein DataFrame selbst.)Die 8 ist die Anzahl der Zeilen im DataFrame, die die "Beschreibung" enthalten (da
describe
8 Statistiken berechnet werden, min, max, mean usw.).quelle
Sie können die Druckoptionen für Pandas mit anpassen
set_printoptions
.Dies funktioniert jedoch nicht in allen Fällen, da Pandas Ihre Konsolenbreite erkennt und nur verwendet wird,
to_string
wenn die Ausgabe in die Konsole passt (siehe Dokumentzeichenfolge vonset_printoptions
). In diesem Fall können Sie explizit anrufen,to_string
wie von BrenBarn beantwortet .Aktualisieren
Mit Version 0.10 hat sich die Art und Weise, wie breite Datenrahmen gedruckt werden, geändert :
Darüber hinaus wurde die API zum Festlegen von Pandas-Optionen geändert:
quelle
Sie können die Ausgangsanzeige so einstellen, dass sie Ihrer aktuellen Terminalbreite entspricht:
quelle
pd.set_option('display.width', None)
in einem Terminal verwenden, "erkennt Pandas die Breite automatisch automatisch" .pd.options.display.width = None
pd.io.formats.terminal.get_terminal_size()
Laut den Dokumenten für Version 0.18.0 ist es ein 2-Liner, wenn Pandas Ihre Bildschirmbreite automatisch erkennt und sich im Handumdrehen an die Anzahl der Geräte anpasst , wenn Sie auf einem Terminal (dh nicht auf einem iPython-Notebook, einer qtconsole oder einem IDLE) arbeiten Spalten, die es zeigt:
quelle
Es scheint, als ob alle oben genannten Antworten das Problem lösen. Noch ein Punkt: Stattdessen
pd.set_option('option_name')
können Sie die (automatische Vervollständigung) verwenden.Siehe Pandas-Dokument: Optionen und Einstellungen:
[...]
für die
max_...
params:für den
width
Parameter:quelle
Ausgabe:
quelle
Ich habe diese Einstellungen verwendet, wenn der Datenumfang hoch ist.
Die Dokumentation finden Sie hier
quelle
Die folgende Zeile reicht aus, um alle Spalten aus dem Datenrahmen anzuzeigen.
pd.set_option('display.max_columns', None)
quelle
pd.set_option('display.max_columns', 0)
Welche sind Ihre Vorteile?Wenn Sie sich nicht mit Ihren Anzeigeoptionen herumschlagen möchten und nur diese eine bestimmte Liste von Spalten anzeigen möchten, ohne jeden angezeigten Datenrahmen zu erweitern, können Sie Folgendes versuchen:
quelle
Sie können es auch in einer Schleife versuchen:
quelle
Sie können einfach die folgenden Schritte ausführen:
Sie können die Optionen für die Funktion pandas max_columns wie folgt ändern
(Dadurch können 10 Spalten angezeigt werden. Sie können dies nach Bedarf ändern.)
Auf diese Weise können Sie die Anzahl der Zeilen wie folgt ändern (wenn Sie auch die maximale Anzahl der Zeilen ändern müssen).
(Dies ermöglicht das Drucken von 999 Zeilen gleichzeitig)
Bitte beziehen Sie sich auf das Dokument , um verschiedene Optionen / Einstellungen für Pandas zu ändern
quelle