7.1 KiB
title, author
title | author |
---|---|
Pandas | Steve Kossouho |
Configurer Pandas
Personnaliser l'affichage d'un DataFrame
Par défaut, dans Pandas, afficher un DataFrame
{.python} fonctionne très bien sur des
petits jeux de données, typiquement des objets avec quelques colonnes et quelques lignes.
Cependant, Pandas est capable de s'ajuster, et lorsque vous devez afficher des jeux de données plus conséquents (ex. des dizaines de colonnes ou des milliers de lignes), vous allez généralement observer un affichage tronqué.
Affichage d'un jeu de données de Seaborn
import pandas as pd
# Le jeu de données Iris de Seaborn est disponible directement sur Github
iris = pd.read_csv('https://raw.githubusercontent.com/mwaskom/seaborn-data/master/iris.csv')
print(iris)
Notez dans cet exemple que malgré la présence de 150 lignes, Pandas n'a affiché que 10 d'entre elles, à savoir les 5 premières et les 5 dernières.
Il est possible d'afficher l'intégralité du DataFrame
{.python} en utilisant une méthode
.to_string(...)
{.python}, qui exporte par défaut le contenu intégral dans une chaîne de
caractères :
import pandas as pd
# Le jeu de données Iris de Seaborn est disponible directement sur Github
iris = pd.read_csv('https://raw.githubusercontent.com/mwaskom/seaborn-data/master/iris.csv')
print(iris.to_string())
La méthode to_string()
Cette méthode, disponible sur les DataFrame
{.python} et les Series
{.python}, extrait
par défaut l'intégralité du document vers une chaîne de caractères, et est configurable
via un certain nombre d'arguments :
Documentation de DataFrame.to_string()
{.python}
La liste des arguments intéressants est la suivante :
Argument | Description | Défaut |
---|---|---|
columns |
Liste des colonnes à inclure dans la sortie. | None |
col_space |
Largeur minimale de chaque colonne. | None |
header |
Écrire les noms des colonnes. | True |
index |
Afficher l'index (étiquettes de ligne). | True |
index_names |
Afficher les noms des index. | True |
max_rows |
Nombre maximum de lignes à afficher. Si None , afficher toutes. |
None |
min_rows |
Nombre de lignes à afficher dans une représentation tronquée. | None |
Argument | Description | Défaut |
---|---|---|
max_cols |
Nombre maximum de colonnes à afficher. Si None , afficher toutes. |
None |
show_dimensions |
Afficher les dimensions du DataFrame (nombre de lignes par nombre de colonnes) à la fin du DataFrame. | False |
line_width |
Largeur de ligne en caractères pour effectuer un retour à la ligne. | None |
max_colwidth |
Largeur maximale de colonne pour tronquer le texte des colonnes individuelles. | None |
Personnaliser l'affichage par défaut
Utiliser la méthode .to_string()
{.python} à chaque affichage de DataFrame
{.python} peut vite devenir
rébarbatif, surtout si vous précisez souvent de nombreux arguments. Pandas possède un objet de configuration globale
qui permet de définir le comportement par défaut de la bibliothèque, notamment en ce qui concerne l'affichage.
L'objet options
Pandas propose une fonction nommée set_option()
{.python} pour définir des paramètres de fonctionnement
de la bibliothèque. On préférera directement travailler avec une variable options
{.python} qui propose
des attributs et de l'autocomplétion dans votre éditeur préféré (via le package pandas-stubs
).
import pandas as pd
pd.options.display.width = 160 # caractères max par ligne
pd.options.display.max_colwidth = 20 # max par colonne
...
Options disponibles
Attribut de l'option | Explication succincte |
---|---|
display.max_rows |
Nombre maximum de lignes à afficher |
display.max_columns |
Nombre maximum de colonnes à afficher |
display.width |
Largeur maximale de l'affichage en caractères |
display.max_colwidth |
Largeur maximale en caractères pour une colonne |
display.precision |
Nombre de décimales à afficher pour les nombres |
display.float_format |
Format des nombres à virgule flottante |
display.max_seq_items |
Nombre maximum d'éléments d'une séquence à afficher |
display.expand_frame_repr |
Expansion automatique des DataFrames pour remplir la largeur |
display.colheader_justify |
Justification des en-têtes de colonnes (left, right, center) |
Attribut de l'option | Explication succincte |
---|---|
display.show_dimensions |
Afficher les dimensions du DataFrame (True, False, 'truncate') |
display.memory_usage |
Afficher l'utilisation de la mémoire pour les DataFrames |
display.large_repr |
Représentation des grandes DataFrames ('truncate', 'info') |
display.notebook_repr_html |
Utiliser l'HTML pour la représentation dans les notebooks |
display.html.border |
Largeur de la bordure en pixels pour les représentations HTML |
display.min_rows |
Nombre minimum de lignes à afficher |
display.max_info_columns |
Nombre maximum de colonnes à inclure dans la sortie d'info() |
display.max_info_rows |
Nombre maximum de lignes à inclure dans la sortie d'info() |
display.memory_usage |
Afficher l'utilisation de la mémoire (True, False, 'deep') |