Appliquer une fonction d’agrégation sur un groupe

La méthode agg() permet d’appliquer des fonctions d’agrégation sur chaque groupe créé par groupby(). Vous pouvez utiliser des fonctions comme mean(), sum(), min(), max(), ou même des fonctions personnalisées pour résumer ou transformer les données au sein de chaque groupe. Cette approche est particulièrement utile lorsque vous souhaitez effectuer plusieurs agrégations à la fois ou appliquer des fonctions différentes à différentes colonnes.

Fonctions :

  • groupby('colonne').agg('fonction')

    La méthode agg() permet d'appliquer une ou plusieurs fonctions d'agrégation sur les groupes créés par groupby(). Elle est extrêmement flexible et permet d'appliquer des fonctions comme la moyenne (mean), la somme (sum), le minimum (min), le maximum (max), etc., sur les groupes de données. Vous pouvez également appliquer plusieurs fonctions d'agrégation simultanément.

    Importation :

    import pandas as pd

    Attributs :

    Paramètre Description
    agg() Applique une ou plusieurs fonctions d'agrégation aux groupes.
    func La ou les fonctions à appliquer, telles que 'mean', 'sum', 'min', 'max', ou une fonction personnalisée.

    Exemple de code :

    import pandas as pd
    
    # Exemple de DataFrame
    data = {
        'nom': ['Alice', 'Bob', 'Charlie', 'David', 'Eve'],
        'ville': ['Paris', 'Lyon', 'Paris', 'Lyon', 'Paris'],
        'âge': [24, 30, 35, 30, 24],
        'score': [88, 92, 75, 85, 95]
    }
    df = pd.DataFrame(data)
    
    # Appliquer une fonction d'agrégation pour calculer la moyenne et la somme par ville
    agg_result = df.groupby('ville').agg({'âge': 'mean', 'score': 'sum'})
    
    print("Moyenne de 'âge' et somme de 'score' par ville :")
    print(agg_result)

    Explication du code :

    • DataFrame : Un DataFrame est créé avec les colonnes nom, ville, âge, et score. Les données contiennent des informations sur des personnes, leur ville, leur âge et leur score.
    • Groupement par ville : La méthode groupby('ville') regroupe les données en fonction de la colonne ville.
    • Agrégation avec agg() : Après le regroupement, on utilise agg() pour appliquer plusieurs fonctions d'agrégation :
      • âge : La moyenne (mean) des âges est calculée pour chaque ville.
      • score : La somme (sum) des scores est calculée pour chaque ville.

    Remarque :

    • Fonctions d'agrégation : Vous pouvez utiliser d'autres fonctions d'agrégation standard comme :
      • 'mean' : Moyenne
      • 'sum' : Somme
      • 'min' : Minimum
      • 'max' : Maximum
      • 'count' : Nombre d'éléments
      • 'std' : Écart type
      • 'var' : Variance
    • Agrégation multiple : Il est possible d'appliquer plusieurs fonctions d'agrégation à une ou plusieurs colonnes en passant une liste de fonctions à agg().