Regrouper par plusieurs colonnes

La méthode groupby() permet également de regrouper les données en fonction de plusieurs colonnes. En passant une liste de colonnes à groupby(), vous pouvez créer des groupes hiérarchiques qui sont définis par la combinaison des valeurs de ces colonnes. Cette approche est utile lorsque vous voulez analyser des sous-groupes plus spécifiques, comme par exemple regrouper des ventes par mois et par région.

Fonctions :

  • groupby(['colonne1', 'colonne2'])

    La méthode groupby() permet de regrouper les données par une ou plusieurs colonnes. Lorsque plusieurs colonnes sont spécifiées, chaque combinaison unique de valeurs des colonnes sera considérée comme un groupe distinct. Cela permet de réaliser des agrégations sur des sous-ensembles de données plus précis, par exemple, regrouper les données par ville et par âge.

    Importation :

    import pandas as pd

    Attributs :

    Paramètre Description
    by 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 pour les DataFrames avec un index multi-niveau.

    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 par 'ville' et 'âge' et calculer la somme des scores
    grouped = df.groupby(['ville', 'âge']).sum()
    
    print("Données regroupées par 'ville' et 'âge' avec la somme des '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 par 'ville' et 'âge' et calculer la somme des scores

    La méthode groupby(['ville', 'âge']) permet de regrouper les lignes du DataFrame en fonction des valeurs des colonnes 'ville' et 'âge'. Ensuite, sum() est utilisé pour calculer la somme des valeurs numériques dans chaque groupe, ici pour la colonne 'score'.

    grouped = df.groupby(['ville', 'âge']).sum() regroupe donc le DataFrame par 'ville' et 'âge', puis calcule la somme des scores dans chaque groupe. Le résultat est assigné à la variable grouped.

    Enfin, print(grouped) affiche les résultats des regroupements, montrant la somme des scores pour chaque combinaison unique de ville et d'âge.