Wie kann ich die erweitern Sie die Ausgabe anzeigen, um zu sehen, mehr Spalten?
Gibt es eine Möglichkeit, erweitern Sie die Anzeige der Ausgang entweder interaktiv oder Skript-Ausführung-Modus?
Speziell, ich bin mit der describe () - Funktion auf einem Pandabären dataframe
. Wenn die dataframe
5 Spalten (Etiketten) breit, ich bekomme die deskriptive Statistik, die ich will. Allerdings, wenn die dataframe
hat mehr Spalten, die Statistiken unterdrückt werden und so etwas wie diese zurückgegeben:
>> Index: 8 entries, count to max
>> Data columns:
>> x1 8 non-null values
>> x2 8 non-null values
>> x3 8 non-null values
>> x4 8 non-null values
>> x5 8 non-null values
>> x6 8 non-null values
>> x7 8 non-null values
Die "8" Wert angegeben ist, ob es 6 oder 7 Spalten. Was bedeutet die "8" beziehen?
Habe ich schon versucht, ziehen Sie das IDLE-Fenster größer, ebenso wie die Erhöhung der "Konfiguration " IDLE" width Optionen, ohne Erfolg.
Meine Absicht mit Pandas und beschreiben() ist zu vermeiden, mit einem zweiten Programm wie STATA die Grundlagen-Daten-manipulation und Untersuchung.
Python/IDLE 2.7.3
Pandas 0.8.1
Notepad++ 6.1.4 (UNICODE)
Windows Vista SP2
InformationsquelleAutor beets | 2012-07-29
Du musst angemeldet sein, um einen Kommentar abzugeben.
Update: Pandas 0.23.4 ab
Dies ist nicht notwendig, pandas autodetects die Größe des terminal-Fenster, wenn Sie
pd.options.display.width = 0
. (Für ältere Versionen siehe unten.)pandas.set_printoptions(...)
ist veraltet. Verwenden Sie stattdessenpandas.set_option(optname, val)
oder gleichwertigpd.options.<opt.hierarchical.name> = val
. Wie:Hier ist die Hilfe für
set_option
:EDIT: ältere version Informationen, vieles davon ist veraltet.
Als @bmu erwähnt, pandas erkennt automatisch (standardmäßig) die Größe des Anzeigebereichs an, eine Ansicht "Zusammenfassung" wird verwendet, wenn ein Objekt repr nicht auf das display passen. Sie erwähnten die Größe des IDLE-Fenster, keine Wirkung. Wenn Sie
print df.describe().to_string()
passt es auf das IDLE-Fenster?Die terminal-Größe wird bestimmt, indem
pandas.util.terminal.get_terminal_size()
(veraltet und wird entfernt), dieser liefert ein Tupel mit den(width, height)
des Displays. Nimmt der Ausgang entsprechend der Größe der Ihre IDLE-Fenster? Es könnte ein Problem sein (da war man vor, wenn mit einem terminal in emacs).Beachten Sie, dass es möglich ist, umgehen Sie die automatische Erkennung,
pandas.set_printoptions(max_rows=200, max_columns=10)
nie zur zusammenfassungsansicht wechseln, wenn die Anzahl der Zeilen, Spalten überschreitet nicht die Grenzen.display.height
statt... ich bin tot-Schleife.Heute Optionen kann auch festgelegt werden, wie "Aufgaben", um die Attribute von
pd.options
, z.B.pd.options.display.max_rows = 999
Die 'display.height' - Eigenschaft ist veraltet.
Funktionierte nicht für mich in Pandas 0.23.2.
Sie verwenden möchten, können Sie das option_context, so dass die option änderungen werden lokal auf dem Ding, mit dem Sie arbeiten. Dies verhindert, dass versehentlich ausdrucken 400 Seiten junk auf Ihren nächsten Aufruf
.head()
oder was auch immer.InformationsquelleAutor Wouter Overmeire
Versuchen Sie dies:
Aus der Dokumentation:
Finden Sie unter: http://pandas.pydata.org/pandas-docs/stable/generated/pandas.set_option.html
Ich buchstäblich haben, dies zu tun jeden Tag... gibt es eine Möglichkeit, dies Global irgendwo?
Es funktioniert für mich für die pandas v0.23.4. Vielen Dank!
InformationsquelleAutor Robert Rose
Wenn Sie Optionen festlegen möchten, vorübergehend die Anzeige einer großen DataFrame, die Sie verwenden können,option_context:
Option Werte werden automatisch wiederhergestellt, sobald Sie beenden die
with
block.None
verwendet werden können (statt 999, etc.).Dies scheint nicht zu funktionieren, zumindest für Python-3.6
with pd.option_context('display.max_rows', None, 'display.max_columns', None): print(energy)
hat nicht funktioniert. Es hat nicht die Anzahl der Spalten ändern, die ich sehen wollte. Jedoch, Wouter Overmeiere die Lösung hat funktioniert.-1 Abstürze und 500 nicht alles tun, entweder
+1 für den Vorschlag eines Kontext-manager, aber -1 für die
max_rows
Wert ;). Einstellung'display.max_rows'
-1 scheint zu versauen die Formatierung komplett (für meine Daten kein Absturz, aber es gibt bestimmte Zeilen mehrere Male jetzt).InformationsquelleAutor jezrael
Set Spalte max-Breite mit:
Diesem besonderen-Anweisung max-width auf 800px, pro Spalte.
Das ist das einzige, das funktionierte für mich für die Pandas 0.23.2.
Wie kommen Sie nicht angeben, es als
display.max_colwidth
? Das ist, wie es aufgeführt ist in der Dokumentation. Ich bin damit einverstanden, dass nurmax_colwidth
funktioniert und ist kürzer zu schreiben, aber ich war überrascht.Wie min-width?
InformationsquelleAutor pX0r
Nur mit diesen 3 Zeilen für mich gearbeitet:
Anaconda /Python 3.6.5 /pandas: 0.23.0 /Visual Studio-Code-1.26
stimmt, das war in meinem Fall
Dies war auch die einzige Lösung, die funktionierte, auf meine Umgebung
Wie min-width für die Zelle, Spalte?
InformationsquelleAutor arispen
Können Sie einstellen, pandas Druckoptionen mit
set_printoptions
.Jedoch funktioniert dies nicht in allen Fällen als pandas erkennt Ihre Konsole Breite und wird nur
to_string
wenn die Ausgabe passt in die Konsole (siehe den docstring derset_printoptions
).In diesem Fall können Sie rufen explizit
to_string
als beantwortet BrenBarn.Update
Mit version 0.10 der Weg weit dataframes sind gedruckt geändert:
Weiter mehr die API für die Einstellung pandas Optionen geändert:
+1 für
display.precision
. Danke!Wie min-width für die Zelle, Spalte?
InformationsquelleAutor bmu
Können Sie die Ausgabe-display passend zu Ihrem aktuellen terminal-Breite:
pd.set_option('display.width', None)
in einem terminal, "pandas richtig erkennt automatisch die Breite".Genau! Er macht es nicht standardmäßig. Die Einstellung auf None, ignorieren Sie einfach die Breite. Vielleicht ist es ein bug in Pandas oder vielleicht es hat zu tun mit dem gnome-terminal..? Dank Wilfred Hughes!
display.width=None behandelt wird, als "unlimited" - nicht "auto". Bedeutung, die Sie bis zu Ihrem terminal-Programm, um wrap lange Zeilen, die in der Regel mit hässlichen Ergebnissen.
AttributeError: module 'pandas.util' hat kein Attribut 'terminal'
Diese Antwort ist ein paar Jahre alt, und ich lief in das gleiche problem wie du. Wie geschrieben, mit pandas version 0.23.1, das Modul ist nun
pd.io.formats.terminal.get_terminal_size()
InformationsquelleAutor Wilfred Hughes
Können Sie
print df.describe().to_string()
es zu zwingen, zeigt die ganze Tabelle. (Sie könnento_string()
wie diese für alle DataFrame. Das Ergebnisdescribe
ist nur ein DataFrame selbst.)Die 8 ist die Anzahl der Zeilen in der DataFrame halten Sie die "Beschreibung" (weil
describe
berechnet 8 Statistik min, max, Mittelwert, etc.).Dies ist eine ausgezeichnete Lösung. Ich wünschte, es würde sich höher auf dieser Seite.
InformationsquelleAutor BrenBarn
Entsprechend der docs für v0.18.0, wenn Sie in einem terminal (also nicht iPython notebook, qtconsole oder im LEERLAUF), es ist ein 2-liner zu haben Pandas auto-detect Ihre Bildschirm-Breite und-Anpassung on-the-fly mit, wie viele Spalten es zeigt sich:
Wie min-width für die Zelle, Spalte?
InformationsquelleAutor hamx0r
Es scheint, wie alle oben genannten Antworten, das problem zu lösen. Ein weiterer Punkt: statt
pd.set_option('option_name')
, können Sie mit der (auto-complete-fähig),Sehen Pandas doc: Optionen und-Einstellungen:
[...]
für die
max_...
params:für die
width
param:InformationsquelleAutor serv-inc
Ich verwendet diese Einstellungen bei der Skalierung der Daten ist hoch.
Finden Sie in der Dokumentationhier
InformationsquelleAutor debaonline4u
Ausgabe:
InformationsquelleAutor William Pourmajidi
Wenn Sie nicht zu verwirren wollen mit Ihrer display-Optionen, und Sie wollen einfach nur, um zu sehen, diese eine bestimmte Liste von Spalten ohne ausbau aus jeder dataframe Sie sehen, könnten Sie versuchen:
df.Spalten.Werte
InformationsquelleAutor user11052564
Können Sie auch versuchen, in einer Schleife:
InformationsquelleAutor LifeisBeautiful