Personnaliser les préférences

Nous utilisons des cookies pour vous aider à naviguer efficacement et à exécuter certaines fonctions. Vous trouverez ci-dessous des informations détaillées sur tous les cookies sous chaque catégorie de consentement.

Les cookies classés comme « Nécessaires » sont stockés sur votre navigateur car ils sont essentiels pour activer les fonctionnalités de base du site.... 

Toujours actif

Necessary cookies are required to enable the basic features of this site, such as providing secure log-in or adjusting your consent preferences. These cookies do not store any personally identifiable data.

Aucun cookie à afficher.

Functional cookies help perform certain functionalities like sharing the content of the website on social media platforms, collecting feedback, and other third-party features.

Aucun cookie à afficher.

Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics such as the number of visitors, bounce rate, traffic source, etc.

Aucun cookie à afficher.

Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.

Aucun cookie à afficher.

Advertisement cookies are used to provide visitors with customized advertisements based on the pages you visited previously and to analyze the effectiveness of the ad campaigns.

Aucun cookie à afficher.

Pandas : Comment créer un tracé à barres à partir d’un tableau croisé



Vous pouvez utiliser les méthodes suivantes pour créer un graphique à barres afin de visualiser les décomptes dans un tableau croisé Pandas :

Méthode 1 : créer un tracé à barres groupées

import matplotlib.pyplot as plt

my_crosstab.plot(kind='bar')

Méthode 2 : créer un tracé à barres empilées

import matplotlib.pyplot as plt

my_crosstab.plot(kind='bar', stacked=True)

Les exemples suivants montrent comment utiliser chacune de ces méthodes en pratique avec le tableau croisé pandas suivant :

import pandas as pd

#create DataFrame
df = pd.DataFrame({'team': ['A', 'A', 'A', 'B', 'B', 'B', 'B', 'C', 'C', 'C', 'C'],
                   'position':['G', 'G', 'F', 'G', 'F', 'F', 'F', 'G', 'G', 'F', 'F'],
                   'points': [22, 25, 24, 39, 34, 20, 18, 17, 20, 19, 22]})

#create crosstab to display count of players by team and position
my_crosstab = pd.crosstab(df.team, df.position)

#view crosstab
print(my_crosstab)

position  F  G
team          
A         1  2
B         3  1
C         2  2

Exemple 1 : Créer un tracé à barres groupées à partir d’un tableau croisé

Nous pouvons utiliser la syntaxe suivante pour créer un tracé à barres groupées à partir du tableau croisé :

import matplotlib.pyplot as plt

#create grouped bar plot
my_crosstab.plot(kind='bar', rot=0)

tracé à barres groupées de pandas à partir d'un tableau croisé

Remarque : L’argument rot=0 fait pivoter les étiquettes de l’axe des x de 90 degrés pour les rendre plus faciles à lire.

L’axe des X affiche les noms des équipes tandis que les barres groupées affichent le nombre de fréquences de chaque position.

Par exemple, on peut voir :

  • Il y a 1 joueur dans l’équipe A avec la position F.
  • Il y a 2 joueurs dans l’équipe A avec la position G.

Et ainsi de suite.

Exemple 2 : Créer un tracé à barres empilées à partir d’un tableau croisé

Nous pouvons utiliser la syntaxe suivante pour créer un tracé à barres empilées à partir du tableau croisé :

import matplotlib.pyplot as plt

#create stacked bar plot
my_crosstab.plot(kind='bar', stacked=True, rot=0)

Remarque : L’argument stacked=True nous a permis de créer un tracé à barres empilées au lieu d’un tracé à barres groupées.

L’axe des X affiche les noms des équipes tandis que les barres empilées affichent le nombre de fréquences de chaque position.

Par exemple, on peut voir :

  • Il y a 1 joueur dans l’équipe A avec la position F.
  • Il y a 2 joueurs dans l’équipe A avec la position G.
  • Il y a 3 joueurs au total dans l’équipe A.

Et ainsi de suite.

Ce type de tracé est particulièrement utile lorsque nous souhaitons visualiser le nombre total d’éléments pour chaque valeur unique sur l’axe des x.

Remarque : Vous pouvez trouver la documentation complète de la fonction pandas crosstab() ici .

Ressources additionnelles

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

Pandas : Comment créer un tableau croisé avec des pourcentages
Pandas : Comment utiliser aggfunc dans la fonction crosstab()
Pandas : Comment annoter des barres dans un tracé à barres

Ajouter un commentaire

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