Pandas : Comment définir la largeur des colonnes



Par défaut, les notebooks Jupyter affichent uniquement une largeur maximale de 50 pour les colonnes d’un DataFrame pandas.

Cependant, vous pouvez forcer le notebook à afficher toute la largeur de chaque colonne du DataFrame en utilisant la syntaxe suivante :

pd.set_option('display.max_colwidth', None)

Cela définira la valeur maximale de la largeur de colonne pour toute la session du notebook Jupyter.

Si vous souhaitez uniquement afficher temporairement une largeur de colonne entière, vous pouvez utiliser la syntaxe suivante :

from pandas import option_context

with option_context('display.max_colwidth', None):
    print(df)

Enfin, vous pouvez réinitialiser les paramètres de largeur de colonne par défaut dans un notebook Jupyter en utilisant la syntaxe suivante :

pd.reset_option('display.max_colwidth')

L’exemple suivant montre comment utiliser ces fonctions dans la pratique.

Exemple : définir les largeurs de colonnes dans Pandas

Supposons que nous créions un DataFrame pandas avec des chaînes extrêmement longues dans une colonne :

import pandas as pd

#create DataFrame
df = pd.DataFrame({'string_column': ['A really really long string that contains lots of words', 'More words', 'Words', 'Cool words', 'Hey', 'Hi', 'Sup', 'Yo'],
                   'value_column': [12, 15, 24, 24, 14, 19, 12, 38]})


#view DataFrame
print(df)

                                       string_column  value_column
0  A really really long string that contains lots...            12
1                                         More words            15
2                                              Words            24
3                                         Cool words            24
4                                                Hey            14
5                                                 Hi            19
6                                                Sup            12
7                                                 Yo            38

Par défaut, les pandas coupent string_column pour n’avoir qu’une largeur de 50.

Pour afficher toute la largeur de la colonne, on peut utiliser la syntaxe suivante :

#specify no max value for the column width
pd.set_option('display.max_colwidth', None)

#view DataFrame
print(df)

                                             string_column  value_column
0  A really really long string that contains lots of words            12
1                                               More words            15
2                                                    Words            24
3                                               Cool words            24
4                                                      Hey            14
5                                                       Hi            19
6                                                      Sup            12
7                                                       Yo            38

Notez que tout le texte de string_column est désormais affiché.

Notez que l’utilisation de cette méthode définira la largeur maximale des colonnes pour toute la session Jupyter.

Pour afficher uniquement temporairement la largeur maximale des colonnes, nous pouvons utiliser la syntaxe suivante :

from pandas import option_context

with option_context('display.max_colwidth', None):
    print(df)

                                             string_column  value_column
0  A really really long string that contains lots of words            12
1                                               More words            15
2                                                    Words            24
3                                               Cool words            24
4                                                      Hey            14
5                                                       Hi            19
6                                                      Sup            12
7                                                       Yo            38

Pour réinitialiser les paramètres par défaut et afficher uniquement une largeur maximale de 50 pour chaque colonne, nous pouvons utiliser la syntaxe suivante :

pd.reset_option('display.max_colwidth')

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres opérations courantes dans les pandas :

Comment afficher toutes les colonnes de Pandas DataFrame
Comment afficher toutes les lignes d’un DataFrame Pandas
Pandas : Comment obtenir la valeur d’une cellule à partir de DataFrame

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *