Pandas : comment créer un graphique à barres pour visualiser les 10 principales valeurs
Vous pouvez utiliser la syntaxe de base suivante pour créer un graphique à barres dans pandas qui inclut uniquement les 10 valeurs les plus fréquentes dans une colonne spécifique :
import pandas as pd import matplotlib.pyplot as plt #find values with top 10 occurrences in 'my_column' top_10 = (df['my_column'].value_counts()).iloc[:10] #create bar chart to visualize top 10 values top_10.plot(kind='bar')
L’exemple suivant montre comment utiliser cette syntaxe dans la pratique.
Exemple : créer un graphique à barres dans Pandas pour visualiser les 10 principales valeurs
Supposons que nous ayons le DataFrame pandas suivant qui contient des informations sur le nom de l’équipe et les points marqués par 500 joueurs de basket différents :
import pandas as pd import numpy as np from string import ascii_uppercase import random from random import choice #make this example reproducible random.seed(1) np.random.seed(1) #create DataFrame df = pd.DataFrame({'team': [choice(ascii_uppercase) for _ in range(500)], 'points': np.random.uniform(0, 20, 500)}) #view first five rows of DataFrame print(df.head()) team points 0 E 8.340440 1 S 14.406490 2 Z 0.002287 3 Y 6.046651 4 C 2.935118
Nous pouvons utiliser la syntaxe suivante pour créer un graphique à barres qui affiche les 10 valeurs les plus fréquentes dans la colonne d’équipe :
import matplotlib.pyplot as plt #find teams with top 10 occurrences top_10_teams = (df['team'].value_counts()).[:10] #create bar chart of top 10 teams top_10_teams.plot(kind='bar')
Le graphique à barres contient uniquement les noms des 10 équipes les plus fréquentes.
L’axe des x affiche le nom de l’équipe et l’axe des y affiche la fréquence.
Notez que nous pouvons également personnaliser l’intrigue pour la rendre plus esthétique :
import matplotlib.pyplot as plt #find teams with top 10 occurrences top_10_teams = (df['team'].value_counts()).[:10] #create bar chart of top 10 teams top_10_teams.plot(kind='bar', edgecolor='black', rot=0) #add axis labels plt.xlabel('Team') plt.ylabel('Frequency')
Notez que l’argument edgecolor a ajouté une bordure noire autour de chaque barre et que l’argument rot a fait pivoter les étiquettes de l’axe x de 90 degrés pour les rendre plus faciles à lire.
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans les pandas :
Pandas : Comment créer un graphique à barres empilées
Pandas : Comment annoter des barres dans un tracé à barres
Pandas : Comment tracer plusieurs colonnes sur un graphique à barres