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)
    Résultat du code

    Explication du code :

    import pandas as pd importe la bibliothèque pandas, renommée ici en pd pour simplifier son utilisation dans le code.

    Exemple de DataFrame

    Le dictionnaire data contient quatre clés : 'nom', 'ville', 'âge', et 'score', chacune associée à une liste de valeurs. Ce dictionnaire est utilisé pour créer un DataFrame df.

    Appliquer une fonction d'agrégation pour calculer la moyenne et la somme par ville

    La méthode groupby('ville') permet de regrouper les lignes du DataFrame en fonction de la colonne 'ville'. Ensuite, la méthode agg() est utilisée pour appliquer différentes fonctions d'agrégation sur les colonnes sélectionnées.

    Dans cet exemple, agg({'âge': 'mean', 'score': 'sum'}) calcule la moyenne des âges ('âge': 'mean') et la somme des scores ('score': 'sum') pour chaque groupe de ville. Le résultat est assigné à la variable agg_result.

    Enfin, print(agg_result) affiche les résultats de l'agrégation, montrant la moyenne de l'âge et la somme du score pour chaque ville.