Pandas : comment compter les combinaisons uniques de deux colonnes
Vous pouvez utiliser la syntaxe suivante pour compter le nombre de combinaisons uniques sur deux colonnes dans un DataFrame pandas :
df[['col1', 'col2']].value_counts().reset_index(name='count')
L’exemple suivant montre comment utiliser cette syntaxe dans la pratique.
Exemple : compter les combinaisons uniques de deux colonnes dans Pandas
Supposons que nous ayons le DataFrame pandas suivant qui montre l’ équipe et la position de divers joueurs de basket-ball :
import pandas as pd #create dataFrame df = pd.DataFrame({'team': ['Mavs', 'Mavs', 'Mavs', 'Mavs', 'Heat', 'Heat', 'Heat', 'Heat'], 'position': ['Guard', 'Guard', 'Guard', 'Forward', 'Guard', 'Forward', 'Forward', 'Guard']}) #view DataFrame df team position 0 Mavs Guard 1 Mavs Guard 2 Mavs Guard 3 Mavs Forward 4 Heat Guard 5 Heat Forward 6 Heat Forward 7 Heat Guard
Nous pouvons utiliser la syntaxe suivante pour compter le nombre de combinaisons uniques d’ équipe et de poste :
df[['team', 'position']].value_counts().reset_index(name='count') team position count 0 Mavs Guard 3 1 Heat Forward 2 2 Heat Guard 2 3 Mavs Forward 1
À partir du résultat, nous pouvons voir :
- Il existe 3 occurrences de la combinaison Mavs-Guard.
- Il existe 2 occurrences de la combinaison Heat-Forward.
- Il existe 2 occurrences de la combinaison Heat-Guard.
- Il existe 1 occurrence de la combinaison Mavs-Forward.
Notez que vous pouvez également trier les résultats par ordre croissant ou décroissant.
Par exemple, nous pouvons utiliser le code suivant pour trier les résultats par ordre croissant de nombre :
df[['team', 'position']].value_counts(ascending=True).reset_index(name='count') team position count 0 Mavs Forward 1 1 Heat Forward 2 2 Heat Guard 2 3 Mavs Guard 3
Les résultats sont désormais triés par nombre, du plus petit au plus grand.
Remarque : Vous pouvez trouver la documentation complète de la fonction pandas value_counts() ici .
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans les pandas :
Pandas : Comment utiliser GroupBy et les décomptes de valeurs
Pandas : Comment utiliser GroupBy avec le nombre de bacs
Pandas : Comment créer un tableau croisé dynamique avec le nombre de valeurs