web-dev-qa-db-fra.com

Obtenir une sortie plus large dans la console intégrée de PyCharm

Je suis relativement nouveau dans l'utilisation de PyCharm IDE et je n'ai pas réussi à trouver un moyen de mieux façonner la sortie lors d'une session de console intégrée. Je travaille généralement avec des cadres de données assez larges, qui s'intégreraient facilement sur mon moniteur, mais l'écran les coupe et les enveloppe beaucoup plus tôt que nécessaire.

Quelqu'un connaît-il un paramètre pour modifier ce comportement afin de profiter de toute la largeur de mon écran?

Edit: Je n'ai pas assez de réputation pour poster une capture d'écran, mais le lien est ci-dessous: http://imgur.com/iiBK3i

Je voudrais l'empêcher de s'enrouler après seulement quelques colonnes (par exemple, la colonne 'ReadmitRate' devrait être immédiatement à droite de 'SNFDaysPerSNFCase')

44
mattvivier

Il semble que je me sois trompé en pensant que le problème était un problème dans PyCharm (qui pourrait être résolu, par exemple, dans un paramètre ou une préférence). Il s'agit en fait de la session de console elle-même. La console tente de détecter automatiquement la largeur de la zone d'affichage, mais en cas d'échec, la valeur par défaut est 80 caractères. Ce comportement peut être remplacé par:

import pandas as pd
desired_width = 320    
pd.set_option('display.width', desired_width)

Où vous pouvez bien sûr définir le desired_width à tout ce que votre écran tolérera. Merci à @TidB pour la suggestion que ma préoccupation initiale n'était pas concentrée dans le bon domaine.

52
mattvivier

Pour moi, définir simplement 'display.width' Ne suffisait pas dans pycharm, il continuait à s'afficher sous une forme tronquée.

Cependant, l'ajout de l'option pd.set_option("display.max_columns", 10) avec la largeur d'affichage a fonctionné et j'ai pu voir la trame de données entière imprimée dans la sortie "run".

En résumé:

import pandas as pd    
pd.set_option('display.width', 400)
pd.set_option('display.max_columns', 10)
22
Idodo

La réponse de @mattvivier fonctionne bien lors de l'impression Pandas dataframes (merci!).

Cependant, si vous imprimez des tableaux NumPy, vous devez définir np.set_printoptions ainsi que:

import pandas as pd
import numpy as np
desired_width = 320
pd.set_option('display.width', desired_width)
np.set_printoptions(linewidth=desired_width)

Voir documents sur NumPy et set_printoptions .

16
Contango