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 utiliser Groupby avec plusieurs agrégations



Vous pouvez utiliser la syntaxe de base suivante pour utiliser un groupby avec plusieurs agrégations dans les pandas :

df.groupby('team').agg(
    mean_points=('points', np.mean),
    sum_points=('points', np.sum),
    std_points=('points', np.std))

Cette formule particulière regroupe les lignes du DataFrame par la variable appelée team puis calcule plusieurs statistiques récapitulatives pour la variable appelée points .

L’exemple suivant montre comment utiliser cette syntaxe dans la pratique.

Exemple : utilisation de Groupby avec plusieurs agrégations dans Pandas

Supposons que nous ayons le DataFrame pandas suivant qui contient des informations sur divers joueurs de basket-ball :

import pandas as pd

#create DataFrame
df = pd.DataFrame({'team': ['Mavs', 'Mavs', 'Mavs', 'Heat', 'Heat', 'Heat'],
                   'points': [18, 22, 19, 14, 14, 11],
                   'assists': [5, 7, 7, 9, 12, 9]})

#view DataFrame
print(df)

   team  points  assists
0  Mavs      18        5
1  Mavs      22        7
2  Mavs      19        7
3  Heat      14        9
4  Heat      14       12
5  Heat      11        9

Nous pouvons utiliser la syntaxe suivante pour regrouper les lignes du DataFrame par équipe , puis calculer la moyenne, la somme et l’écart type des points pour chaque équipe :

import numpy as np

#group by team and calculate mean, sum, and standard deviation of points
df.groupby('team').agg(
    mean_points=('points', np.mean),
    sum_points=('points', np.sum),
    std_points=('points', np.std))

      mean_points	sum_points	std_points
team			
Heat	13.000000	        39	  1.732051
Mavs	19.666667	        59	  2.081666

Le résultat affiche la moyenne, la somme et l’écart type de la variable de points pour chaque équipe .

Vous pouvez utiliser une syntaxe similaire pour effectuer un groupby et calculer autant d’agrégations que vous le souhaitez.

Ressources additionnelles

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

Comment compter les valeurs uniques à l’aide de Pandas GroupBy
Comment appliquer une fonction à Pandas Groupby
Comment créer un tracé à barres à partir de Pandas GroupBy

Ajouter un commentaire

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