Pandas : créer un histogramme pour chaque colonne dans DataFrame



Vous pouvez utiliser la syntaxe de base suivante pour créer un histogramme pour chaque colonne d’un DataFrame pandas :

import pandas as pd
import matplotlib.pyplot as plt

#define number of subplots
fig, axis = plt.subplots(1, 3)

#create histogram for each column in DataFrame
df.hist(ax=axis)

Cet exemple particulier utilise la fonction subplots() pour spécifier qu’il y a 3 colonnes dans le DataFrame, puis crée un histogramme pour chaque colonne.

L’exemple suivant montre comment utiliser cette syntaxe dans la pratique.

Exemple : créer un histogramme pour chaque colonne dans l’histogramme Pandas

Supposons que nous ayons le DataFrame pandas suivant qui contient trois colonnes :

import pandas as pd
import numpy as np

#make this example reproducible
np.random.seed(1)

#create DataFrame
df = pd.DataFrame({'points': np.random.normal(loc=20, scale=2, size=300),
                   'assists': np.random.normal(loc=14, scale=3, size=300),
                   'rebounds': np.random.normal(loc=12, scale=1, size=300)})

#view head of DataFrame
print(df.head())

      points    assists   rebounds
0  23.248691  20.197350  10.927036
1  18.776487   9.586529  12.495159
2  18.943656  11.509484  11.047938
3  17.854063  11.358267  11.481854
4  21.730815  13.162707  10.538596

Nous pouvons utiliser la syntaxe suivante pour créer un histogramme pour chacune des trois colonnes du DataFrame :

import matplotlib.pyplot as plt 

#define format for subplots (1 row and 3 columns)
fig, axis = plt.subplots(1, 3)

#create histogram for each column in DataFrame
df.hist(ax=axis)

Le résultat est une grille avec une ligne et trois colonnes qui affiche un histogramme pour chaque colonne du DataFrame.

Si vous le souhaitez, vous pouvez utiliser l’argument figsize pour modifier la taille des histogrammes ainsi que les arguments edgecolor et grid pour améliorer l’apparence des histogrammes :

import matplotlib.pyplot as plt 

#define format for subplots
fig, axis = plt.subplots(1, 3, figsize=(8,3))

#create histogram for each column in DataFrame
df.hist(ax=axis, edgecolor='black', grid=False)

les pandas créent un histogramme pour chaque colonne dans DataFrame

N’hésitez pas à jouer avec les arguments de la fonction subplots() pour définir le format et la taille exacts des histogrammes.

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans les pandas :

Comment modifier le nombre de bacs utilisés dans l’histogramme Pandas
Comment modifier la plage de l’axe X dans l’histogramme Pandas
Comment tracer des histogrammes par groupe chez Pandas

Ajouter un commentaire

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