2014-01-21 2 views
20

Ich versuche, meine IPython-Ausgabe in meinem OS X-Terminal zu konfigurieren, aber es scheint, dass keine der Änderungen, die ich versuche, in Kraft treten. Ich versuche, die Anzeigeeinstellungen so zu konfigurieren, dass breitere Ausgaben wie eine große DataFrame ohne jegliche Kürzung oder als die Zusammenfassung Info ausgegeben werden.Konfigurieren der Anzeigeausgabe in IPython-Pandas

Nachdem ich Pandas in mein Skript importiert habe, habe ich ein paar Optionen gesetzt, wo ich eine ganze Menge ausprobiert habe, aber keiner (oder alle) scheint zu wirken. Ich führe das Skript von IPython mit %run. Mache ich hier etwas falsch?

import pandas as pd 

pd.set_option('display.expand_max_repr', False) 
pd.set_option('display.max_columns', 30) 
pd.set_option('display.width', None) 
pd.set_option('display.line_width', 200) 

Ich habe bei some threads auf Stack und die pandas FAQ ohne Erfolg sieht, auch wenn diese unter dem Display-Namensraum (oder ohne) verwenden, wie ich hier versucht habe.

Ich verstehe, dass es gibt einige Möglichkeiten, um dieses, wie to_string() oder describe() Methoden auf Ihrer Ausgabe aufrufen, aber diese sind sehr manuelle und funktionieren nicht immer wie in einigen Fällen vorgesehen, wie eine, wo ich to_string() haben Aufruf auf einem groupby Objekt ergibt:

id  type 
106125  puzzle  gameplay_id sitting_id user_id   ... 
106253  frames  gameplay_id sitting_id user_id   ... 
106260  trivia  gameplay_id sitting_id user_id   ... 

Meine Terminal Fenstergröße ist mehr als ausreichend, um die Breite zu tragen, und pd.util.terminal.get_terminal_size() Aufruf korrekt die Größe des Fensters Tupel zu finden, so wäre es, dass auto scheint die Größe Erkennung nicht funktioniert entweder. Jeder Einblick würde geschätzt werden!

+0

Haben Sie ipython Notebook mit in Betracht gezogen? Sie können Datenrahmen in HTML rendern, mit denen Sie nicht abgeschnittene Versionen Ihrer Daten anzeigen können. –

+0

Ja das klingt interessant, ich habe es bis jetzt nicht wirklich in Betracht gezogen (ich bin neu in Pandas). Kennen Sie eine gute Ressource, um es in Gang zu bringen? – Chrispy

+1

Umm ... es ist so lange her, seit ich es installiert habe. Sie installieren grundsätzlich iPython und geben dann in der Befehlszeile ipython notebook ein. Es ist ein unglaublich nützliches Werkzeug, Sie können Abschriften schreiben, Grafiken, Bilder, Videos, HTML, LaTex usw. hinzufügen. Es ist ziemlich bemerkenswert. Für den Daten-Workflow ist es meiner Meinung nach einfach nicht zu übertreffen. Ich habe dieses Notizbuch für meine Organisation vorbereitet, das einiges von dem zeigt, was iPython tun kann ... http://goo.gl/1Vneam Es ist wirklich nicht schwer, aufzustehen und zu laufen. –

Antwort

24

Nur der Vollständigkeit halber (Ich werde meinen Kommentar als Antwort hinzufügen), verpassten Sie aus:

pd.options.display.max_colwidth # default is 50 

dies die maximale Länge einer einzelnen Spalte beschränkt.

Es gibt durchaus ein paar Optionen hier zu konfigurieren, wenn Sie ipython dann auf das Register vollständig finden die full set of display options verwenden:

pd.options.display.<tab> 
+0

Andy - Wenn ich versuche, 'display.max_colwidth = None' in' master' zu setzen, bekomme ich 'ValueError: Value muss den Typ ''' haben.Irgendwelche Gedanken darüber, wie man dieses Limit entfernt (auf die gleiche Weise 'None' entfernt Grenzen für andere Optionen?) –

+2

@ user815423426 hast du versucht display.max_colwidth = 0? –

+0

Danke @Andy - Ja - das hat funktioniert. –