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

Ajouter un commentaire

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