Mise à jour: Pandas 0.23.4 en avant
Ce n'est pas nécessaire, pandas détecte automatiquement la taille de la fenêtre de votre terminal si vous la définissez pd.options.display.width = 0
. (Pour les anciennes versions, voir en bas.)
pandas.set_printoptions(...)
est obsolète. Au lieu de cela, utilisez pandas.set_option(optname, val)
ou de manière équivalente pd.options.<opt.hierarchical.name> = val
. Comme:
import pandas as pd
pd.set_option('display.max_rows', 500)
pd.set_option('display.max_columns', 500)
pd.set_option('display.width', 1000)
Voici l' aide pourset_option
:
set_option (pat, value) - Définit la valeur de l'option spécifiée
Options disponibles:
affichage. [chop_threshold, colheader_justify, column_space, date_dayfirst,
date_yearfirst, encodage, 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écision, largeur]
mode. [sim_interactive, use_inf_as_null]
Paramètres
----------
pat - str / regexp qui doit correspondre à une seule option.
Remarque: les correspondances partielles sont prises en charge pour plus de commodité, mais à moins que vous n'utilisiez le
nom complet de l'option (egxyzoption_name), votre code risque de se casser à l'avenir
versions si de nouvelles options avec des noms similaires sont introduites.
valeur - nouvelle valeur d'option.
Retour
-------
Aucun
Augmente
------
KeyError si aucune telle option n'existe
display.chop_threshold: [par défaut: aucun] [actuellement: aucun]
: float ou None
s'il est défini sur une valeur flottante, toutes les valeurs flottantes sont plus petites que le seuil donné
sera affiché comme exactement 0 par repr et amis.
display.colheader_justify: [par défaut: droite] [actuellement: droite]
: 'gauche droite'
Contrôle la justification des en-têtes de colonne. utilisé par DataFrameFormatter.
display.column_space: [par défaut: 12] [actuellement: 12] Aucune description disponible.
display.date_dayfirst: [par défaut: False] [actuellement: False]
: booléen
Lorsque la valeur est True, imprime et analyse les dates avec le premier jour, par exemple 20/01/2005
display.date_yearfirst: [par défaut: False] [actuellement: False]
: booléen
Lorsque la valeur est True, imprime et analyse les dates avec l'année en premier, par exemple 2005/01/20
display.encoding: [par défaut: UTF-8] [actuellement: UTF-8]
: str / unicode
Par défaut, le codage détecté de la console.
Spécifie l'encodage à utiliser pour les chaînes renvoyées par to_string,
ce sont généralement des chaînes destinées à être affichées sur la console.
display.expand_frame_repr: [par défaut: True] [actuellement: True]
: booléen
Que ce soit pour imprimer la reproduction complète de DataFrame pour de larges DataFrames
sur plusieurs lignes, `max_columns` est toujours respecté, mais la sortie
boucler sur plusieurs "pages" si sa largeur dépasse "display.width".
display.float_format: [par défaut: aucun] [actuellement: aucun]
: appelable
L'appelable doit accepter un nombre à virgule flottante et retourner
une chaîne avec le format souhaité du nombre. Ceci est utilisé
dans certains endroits comme SeriesFormatter.
Voir core.format.EngFormatter pour un exemple.
display.height: [par défaut: 60] [actuellement: 1000]
: int
Obsolète.
(Obsolète, utilisez plutôt `display.height`.)
display.line_width: [par défaut: 80] [actuellement: 1000]
: int
Obsolète.
(Obsolète, utilisez plutôt `display.width`.)
display.max_columns: [par défaut: 20] [actuellement: 500]
: int
max_rows et max_columns sont utilisés dans les méthodes __repr __ () pour décider si
to_string () ou info () est utilisé pour restituer un objet à une chaîne. Au cas où
python / IPython s'exécute dans un terminal, cela peut être défini sur 0 et pandas
détectera correctement la largeur du terminal et passera à un plus petit
format au cas où toutes les colonnes ne tiendraient pas verticalement. Le bloc-notes IPython,
IPython qtconsole ou IDLE ne s'exécutent pas dans un terminal et, par conséquent, il n'est pas
possible de faire une auto-détection correcte.
La valeur «Aucun» signifie illimité.
display.max_colwidth: [par défaut: 50] [actuellement: 50]
: int
La largeur maximale en caractères d'une colonne dans la représentation de
une structure de données pandas. Lorsque la colonne déborde, un "..."
l'espace réservé est incorporé dans la sortie.
display.max_info_columns: [par défaut: 100] [actuellement: 100]
: int
max_info_columns est utilisé dans la méthode DataFrame.info pour décider si
les informations par colonne seront imprimées.
display.max_info_rows: [par défaut: 1690785] [actuellement: 1690785]
: int ou Aucun
max_info_rows est le nombre maximum de lignes pour lesquelles un cadre sera
effectuer une vérification nulle sur ses colonnes lors de la représentation vers une console.
La valeur par défaut est 1 000 000 de lignes. Donc, si un DataFrame a plus
1 000 000 de lignes, aucune vérification nulle ne sera effectuée
colonnes et donc la représentation prendra beaucoup moins de temps pour
afficher dans une session interactive. Une valeur de None signifie toujours
effectuer une vérification nulle lors de la réimpression.
display.max_rows: [par défaut: 60] [actuellement: 500]
: int
Ceci définit le nombre maximum de lignes que les pandas doivent produire lors de l'impression
sur diverses sorties. Par exemple, cette valeur détermine si le repr ()
pour une trame de données imprime entièrement ou simplement un résumé.
La valeur «Aucun» signifie illimité.
display.max_seq_items: [par défaut: aucun] [actuellement: aucun]
: int ou Aucun
lors de l'impression d'une longue séquence, pas plus que `max_seq_items`
sera imprimé. Si des articles sont omis, ils seront signalés par l'addition
de "..." à la chaîne résultante.
S'il est défini sur Aucun, le nombre d'éléments à imprimer est illimité.
display.mpl_style: [par défaut: aucun] [actuellement: aucun]
: bool
La définition de cette valeur par défaut modifiera les rcParams utilisés par matplotlib
pour donner aux tracés un style visuel plus agréable par défaut.
La définition de None / False restaure les valeurs à leur valeur initiale.
display.multi_sparse: [par défaut: True] [actuellement: True]
: booléen
Affichage MultiIndex "sparsify" (ne pas afficher répété
éléments dans les niveaux externes au sein des groupes)
display.notebook_repr_html: [par défaut: True] [actuellement: True]
: booléen
Lorsque True, le bloc-notes IPython utilisera une représentation html pour
objets pandas (si disponibles).
display.pprint_nest_depth: [par défaut: 3] [actuellement: 3]
: int
Contrôle le nombre de niveaux imbriqués à traiter lors d'une jolie impression
display.precision: [par défaut: 7] [actuellement: 7]
: int
Précision de sortie en virgule flottante (nombre de chiffres significatifs). C'est
seulement une suggestion
display.width: [par défaut: 80] [actuellement: 1000]
: int
Largeur de l'affichage en caractères. Dans le cas où python / IPython s'exécute dans
un terminal, celui-ci peut être réglé sur Aucun et les pandas détecteront correctement
largeur.
Notez que le bloc-notes IPython, IPython qtconsole ou IDLE ne s'exécutent pas dans un
terminal et il n'est donc pas possible de détecter correctement la largeur.
mode.sim_interactive: [par défaut: False] [actuellement: False]
: booléen
S'il faut simuler le mode interactif à des fins de test
mode.use_inf_as_null: [par défaut: False] [actuellement: False]
: booléen
True signifie traiter None, NaN, INF, -INF comme null (ancienne méthode),
Faux signifie aucun et NaN sont nuls, mais INF, -INF ne sont pas nuls
(nouvelle façon).
Appelez def: pd.set_option (self, * args, ** kwds)
EDIT: informations sur les anciennes versions, une grande partie de ces informations a été dépréciée.
Comme @bmu l'a mentionné , pandas détecte automatiquement (par défaut) la taille de la zone d'affichage, une vue récapitulative sera utilisée lorsqu'un objet représenté ne tient pas sur l'écran. Vous avez mentionné le redimensionnement de la fenêtre IDLE, sans effet. Si vous le faites, print df.describe().to_string()
cela tient-il dans la fenêtre IDLE?
La taille du terminal est déterminée par pandas.util.terminal.get_terminal_size()
(obsolète et supprimée), ce qui renvoie un tuple contenant (width, height)
l'affichage. La sortie correspond-elle à la taille de votre fenêtre IDLE? Il pourrait y avoir un problème (il y en avait un avant lors de l'exécution d'un terminal dans emacs).
Notez qu'il est possible de contourner la détection automatique, pandas.set_printoptions(max_rows=200, max_columns=10)
ne basculera jamais en vue récapitulative si le nombre de lignes, les colonnes ne dépassent pas les limites données.
L'option 'max_colwidth' aide à voir la forme non tronquée de chaque colonne.
display.height
plutôt ... Je suis en boucle morte.pd.options
, par exemplepd.options.display.max_rows = 999
.head()
ou autre.Essaye ça:
De la documentation:
Voir: http://pandas.pydata.org/pandas-docs/stable/generated/pandas.set_option.html
la source
pandas\core\config_init.py
pour le définir définitivement.Si vous souhaitez définir temporairement des options pour afficher un grand DataFrame, vous pouvez utiliser option_context :
Les valeurs des options sont restaurées automatiquement lorsque vous quittez le
with
bloc.la source
None
peut être utilisé (au lieu de 999, etc.).with pd.option_context('display.max_rows', None, 'display.max_columns', None): print(energy)
n'a pas fonctionné. Cela n'a pas changé le nombre de colonnes que je voulais voir. Cependant, la solution de Wouter Overmeiere a fonctionné.-1
ou500
non.max_rows
valeur;). La définition'display.max_rows'
de -1 semble perturber complètement le formatage (pour mes données, pas de plantage, mais il imprime certaines lignes plusieurs fois maintenant).Seule l'utilisation de ces 3 lignes a fonctionné pour moi:
Anaconda / Python 3.6.5 / pandas: 0.23.0 / Visual Studio Code 1.26
la source
Définissez la largeur maximale de la colonne à l'aide de:
Cette instruction particulière définit la largeur maximale à 800 px, par colonne.
la source
display.max_colwidth
? Voilà comment il est répertorié dans la documentation. Je suis d'accord que cela nemax_colwidth
fonctionne que et est plus court à écrire, mais j'ai été surpris.Vous pouvez utiliser
print df.describe().to_string()
pour le forcer à afficher la table entière. (Vous pouvez utiliserto_string()
comme ceci pour n'importe quel DataFrame. Le résultat dedescribe
est juste un DataFrame lui-même.)Le 8 est le nombre de lignes dans le DataFrame contenant la "description" (car
describe
calcule 8 statistiques, min, max, moyenne, etc.).la source
Vous pouvez ajuster les options d'impression des pandas avec
set_printoptions
.Cependant, cela ne fonctionnera pas dans tous les cas car pandas détecte la largeur de votre console et ne l'utilisera que
to_string
si la sortie tient dans la console (voir la docstring deset_printoptions
). Dans ce cas, vous pouvez explicitement appelerto_string
comme répondu par BrenBarn .Mise à jour
Avec la version 0.10, la façon dont les cadres de données larges sont imprimés a changé :
De plus, l'API pour définir les options de pandas a changé:
la source
Vous pouvez régler l'affichage de sortie pour qu'il corresponde à la largeur actuelle de votre terminal:
la source
pd.set_option('display.width', None)
dans un terminal, "les pandas détecteront correctement la largeur" .pd.options.display.width = None
pd.io.formats.terminal.get_terminal_size()
Selon la documentation de la v0.18.0 , si vous utilisez un terminal (c'est-à-dire pas un ordinateur portable iPython, qtconsole ou IDLE), il s'agit d'une doublure pour que les Pandas détectent automatiquement la largeur de votre écran et s'adaptent à la volée avec combien de colonnes, il montre:
la source
Il semble que toutes les réponses ci-dessus résolvent le problème. Encore un point: au lieu de
pd.set_option('option_name')
, vous pouvez utiliser le (auto-complete-able)Voir le document Pandas: Options et paramètres:
[...]
pour les
max_...
params:pour le
width
param:la source
Production:
la source
J'ai utilisé ces paramètres lorsque l'échelle des données est élevée.
Vous pouvez consulter la documentation ici
la source
La ligne ci-dessous est suffisante pour afficher toutes les colonnes de la trame de données.
pd.set_option('display.max_columns', None)
la source
pd.set_option('display.max_columns', 0)
Quels sont les avantages de la vôtre?Si vous ne voulez pas jouer avec vos options d'affichage et que vous voulez juste voir cette liste particulière de colonnes sans développer chaque trame de données que vous affichez, vous pouvez essayer:
la source
Vous pouvez également essayer en boucle:
la source
Vous pouvez simplement effectuer les étapes suivantes,
Vous pouvez modifier les options de la fonction pandas max_columns comme suit
(cela permet d'afficher 10 colonnes, vous pouvez modifier cela selon vos besoins)
De cette façon, vous pouvez modifier le nombre de lignes que vous devez afficher comme suit (si vous devez également modifier le nombre maximal de lignes)
(cela permet d'imprimer 999 lignes à la fois)
Veuillez vous référer avec bonté le doc pour changer les différentes options / paramètres pour les pandas
la source