Comment créer un histogramme à partir de Pandas DataFrame
Vous pouvez utiliser la syntaxe de base suivante pour créer un histogramme à partir d’un DataFrame pandas :
df.hist(column='col_name')
Les exemples suivants montrent comment utiliser cette syntaxe dans la pratique.
Exemple 1 : tracer un seul histogramme
Le code suivant montre comment créer un seul histogramme pour une colonne particulière dans un DataFrame pandas :
import pandas as pd #create DataFrame df = pd.DataFrame({'points': [25, 12, 15, 14, 19, 23, 25, 29, 29, 31, 31, 33], 'assists': [5, 7, 7, 9, 12, 9, 9, 4, 7, 7, 8, 9], 'rebounds': [11, 8, 10, 6, 6, 5, 9, 12, 10, 7, 7, 9]}) #view first five rows of DataFrame df.head() points assists rebounds 0 25 5 11 1 12 7 8 2 15 7 10 3 14 9 6 4 19 12 6 #create histogram for 'points' column df.hist(column='points')
Nous pouvons également personnaliser l’histogramme avec des couleurs, des styles, des étiquettes et un nombre de bacs spécifiques :
#create custom histogram for 'points' column df.hist(column='points', bins=5, grid=False, rwidth=.9, color='purple')
L’axe des x affiche les points marqués par joueur et l’axe des y montre la fréquence du nombre de joueurs ayant marqué autant de points.
Exemple 2 : tracer plusieurs histogrammes
Le code suivant montre comment tracer plusieurs histogrammes à partir d’un DataFrame pandas :
import pandas as pd #create DataFrame df = pd.DataFrame({'team':['A', 'A', 'A', 'A', 'A', 'A', 'B', 'B', 'B', 'B', 'B', 'B'], 'points': [25, 12, 15, 14, 19, 23, 25, 29, 29, 31, 31, 33]}) #view first five rows df.head() team points 0 A 25 1 A 12 2 A 15 3 A 14 4 A 19 #create histogram for each team df.hist(column='points', by='team', bins=3, grid=False, rwidth=.9, color='purple', sharex=True)
Notez que l’argument sharex spécifie que les deux histogrammes doivent partager le même axe x.
Cela facilite la comparaison de la distribution des valeurs entre les deux histogrammes.
Ressources additionnelles
Les didacticiels suivants expliquent comment créer d’autres tracés courants en Python :
Comment tracer plusieurs lignes dans Matplotlib
Comment créer un boxplot à partir de Pandas DataFrame
Comment tracer plusieurs colonnes Pandas sur un graphique à barres