Ich kämpfe mit der scheinbar sehr einfachen Sache. Ich habe einen Pandas-Datenrahmen, der eine sehr lange Zeichenfolge enthält.
df = pd.DataFrame({'one' : ['one', 'two',
'This is very long string very long string very long string veryvery long string']})
Wenn ich jetzt versuche, dasselbe zu drucken, sehe ich nicht die vollständige Zeichenfolge, sondern nur einen Teil der Zeichenfolge.
Ich habe versucht, folgende Optionen zu verwenden
- mit
print(df.iloc[2])
- mit
to_html
- mit
to_string
- In einer der Antworten zum Stapelüberlauf wurde vorgeschlagen, die Spaltenbreite mithilfe der Pandas-Anzeigeoption zu erhöhen, was ebenfalls nicht funktionierte.
- Ich habe auch nicht verstanden, wie
set_printoptions
mir helfen wird.
Irgendwelche Ideen geschätzt. Sieht sehr einfach aus, kann es aber nicht bekommen!
Verwendung
pd.set_option('display.max_colwidth', -1)
für automatische Zeilenumbrüche und mehrzeilige Zellen.Dies ist eine großartige Ressource, um das Jupyters-Display mit Pandas in vollen Zügen zu nutzen.
quelle
pd.set_option('display.max_colwidth', None)
für neuere VersionenEin anderer, ziemlich einfacher Ansatz ist das Aufrufen der Listenfunktion:
Keine Erwähnung wert, das ist nicht gut, um die ganzen Spalten aufzulisten, aber für eine einfache Zeile - warum nicht
quelle
Eine andere einfachere Möglichkeit, die gesamte Zeichenfolge zu drucken, besteht darin,
values
den Datenrahmen aufzurufen.Die Ausgabe wird sein
quelle
Wolltest du das tun?
quelle
Ich gehe oft mit der von Ihnen beschriebenen Situation
.to_csv()
um, indem ich die Methode verwende und an stdout schreibe:Update: Es soll nun möglich sein , nur nutzen ,
None
anstattsys.stdout
mit ähnlicher Wirkung!Dies sollte den gesamten Datenrahmen einschließlich der Gesamtheit aller Zeichenfolgen sichern. Mit den Parametern to_csv können Sie Spaltentrennzeichen konfigurieren, unabhängig davon, ob der Index gedruckt wird usw. Es ist jedoch weniger hübsch als das ordnungsgemäße Rendern.
Ich habe dies ursprünglich als Antwort auf die etwas verwandte Frage unter Daten aus allen Spalten in einem Datenrahmen in Pandas ausgeben gepostet
quelle
Fügen Sie Ihrem Code vor dem Drucken einfach die folgende Zeile hinzu.
Sie können einfach die folgenden Schritte ausführen, um andere zusätzliche Optionen festzulegen:
Sie können die Optionen für die Funktion pandas max_columns wie folgt ändern, um weitere Spalten anzuzeigen
(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, um weitere Zeilen anzuzeigen
(Dies ermöglicht das Drucken von 999 Zeilen gleichzeitig)
das sollte gut funktionieren
Bitte beziehen Sie sich auf das Dokument , um weitere Optionen / Einstellungen für Pandas zu ändern
quelle
Ich habe eine kleine Utility-Funktion erstellt, die für mich gut funktioniert
Ich kann die Länge der Breite gemäß meinen Anforderungen ändern, ohne eine Option dauerhaft festzulegen.
quelle
Wenn Sie ein Jupiter-Notizbuch verwenden, können Sie den Pandas-Datenrahmen auch als HTML-Tabelle drucken, wodurch vollständige Zeichenfolgen gedruckt werden.
Ausgabe
quelle