Regrouper les données par une 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('age', 'score')
    
    print("Données regroupées par ville avec moyenne de 'âge' et 'score' :")
    print(grouped)
    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.

    Regrouper les données par 'ville' et calculer la moyenne de 'âge' et 'score'

    La méthode groupby('ville') permet de regrouper les lignes du DataFrame en fonction de la colonne 'ville'. Ensuite, mean() calcule la moyenne des valeurs numériques dans chaque groupe, c'est-à-dire la moyenne des colonnes 'âge' et 'score' pour chaque ville.

    grouped = df.groupby('ville').mean('age', 'score') essaie de regrouper les données par ville et de calculer la moyenne des colonnes 'âge' et 'score'. Cependant, il y a une petite erreur dans l'utilisation de la méthode mean() : elle ne prend pas de paramètres supplémentaires comme 'age' et 'score'. Il faudrait plutôt utiliser df.groupby('ville')[['âge', 'score']].mean() pour obtenir la moyenne des deux colonnes. Le résultat est assigné à la variable grouped.

    Enfin, print(grouped) affiche les données regroupées par ville, avec la moyenne de l'âge et du score pour chaque ville.