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