Regrouper les données par une colonne (groupby('colonne'))

La fonction groupby(‘colonne’) permet de regrouper les données d’un DataFrame en fonction des valeurs d’une colonne spécifique. Cela permet ensuite d’appliquer des opérations d’agrégation, de transformation ou de filtrage sur chaque groupe de manière indépendante. Elle est couramment utilisée pour effectuer des résumés statistiques ou des calculs par catégories.

Fonctions :

  • groupby('colonne')

    La méthode groupby() permet de regrouper les données d'un DataFrame en fonction d'une ou plusieurs colonnes. Cela permet d'effectuer des opérations d'agrégation sur chaque groupe, comme le calcul de la somme, de la moyenne, ou d'autres statistiques. Cette fonction est très utile pour effectuer des analyses statistiques sur des sous-ensembles de données.

    Importation :

    import pandas as pd

    Attributs :

    Paramètre Description
    by Colonne ou liste de colonnes sur lesquelles effectuer le regroupement.
    axis Spécifie l'axe sur lequel effectuer l'agrégation. Par défaut, c'est l'axe des lignes (0).
    level Permet de spécifier un niveau d'index (utile pour les DataFrames avec un index multi-niveau).
    sort Booléen pour indiquer si les résultats doivent être triés ou non (par défaut, True).
    as_index Booléen qui permet de contrôler si les colonnes de regroupement doivent être utilisées comme index (par défaut, True).

    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)
    
    # Regrouper les données par 'ville' et calculer la moyenne de 'âge' et 'score'
    grouped = df.groupby('ville').mean()
    
    print("Données regroupées par ville avec moyenne de 'âge' et 'score' :")
    print(grouped)

    Explication du code :

    • DataFrame : Un DataFrame est créé avec les colonnes nom, ville, âge, et score. Le DataFrame contient des informations sur des personnes, leur ville, leur âge et leur score.
    • Regroupement par ville : La méthode groupby('ville') regroupe les données en fonction de la colonne ville. Ensuite, l'agrégation de la moyenne des valeurs des autres colonnes (âge et score) est effectuée avec mean().
    • Résultat : Le résultat montre la moyenne des âge et score pour chaque ville (Paris et Lyon dans cet exemple).

    Remarque :

    • Opérations d'agrégation : Après le regroupement, vous pouvez appliquer différentes fonctions d'agrégation comme sum(), count(), max(), min(), ou encore agg() pour appliquer plusieurs agrégations à la fois.
    • Indexation avec as_index : Par défaut, groupby() utilise la colonne de regroupement comme index. Si vous ne voulez pas cela, vous pouvez utiliser as_index=False pour garder la colonne de regroupement comme une colonne normale dans le DataFrame résultant.