Maison >développement back-end >Tutoriel Python >Comment la fonction `groupby()` de Pandas peut-elle calculer la somme des valeurs au sein des groupes ?
Comprendre GroupBy pour les calculs agrégés dans Pandas
Lorsque vous travaillez avec de grands ensembles de données, pandas propose une fonction puissante appelée groupby() pour regrouper les données par colonnes spécifiques et effectuer des calculs sur les données regroupées. Dans ce contexte, explorons comment utiliser groupby() pour calculer la somme des valeurs au sein des groupes.
Considérez le cadre de données suivant, où nous avons des détails sur les achats de fruits par des individus sur plusieurs dates :
| Fruit | Date | Name | Number | |---|---|---|---| | Apples | 10/6/2016 | Bob | 7 | | Apples | 10/6/2016 | Bob | 8 | | Apples | 10/6/2016 | Mike | 9 | | Apples | 10/7/2016 | Steve | 10 | | Apples | 10/7/2016 | Bob | 1 | | Oranges | 10/7/2016 | Bob | 2 | | Oranges | 10/6/2016 | Tom | 15 | | Oranges | 10/6/2016 | Mike | 57 | | Oranges | 10/6/2016 | Bob | 65 | | Oranges | 10/7/2016 | Tony | 1 | | Grapes | 10/7/2016 | Bob | 1 | | Grapes | 10/7/2016 | Tom | 87 | | Grapes | 10/7/2016 | Bob | 22 | | Grapes | 10/7/2016 | Bob | 12 | | Grapes | 10/7/2016 | Tony | 15 |
Objectif : Calculer la somme des achats de fruits regroupés par nom
Nous visons à calculer le nombre total de fruits achetés par chaque individu, en regroupant les données à la fois par fruit (Fruit) et par nom de la personne (Nom).
Solution : Utiliser GroupBy.sum()
Pour atteindre Ceci, nous utilisons la fonction groupby() avec les colonnes pour regrouper :
result = df.groupby(['Fruit', 'Name']).sum()
La méthode sum() appliquée aux données groupées agrège automatiquement les valeurs dans la colonne spécifiée (dans ce cas, Nombre représente le nombre de fruits achetés).
Sortie :
La sortie du code nous fournit les valeurs agrégées :
| | Number | |----------------|--------| | Fruit | Name | | Apples | Bob | 16 | | | Mike | 9 | | | Steve | 10 | | Grapes | Bob | 35 | | | Tom | 87 | | | Tony | 15 | | Oranges | Bob | 67 | | | Mike | 57 | | | Tom | 15 | | | Tony | 1 |
Ici, nous pouvons observer le nombre total de fruits achetés par chaque individu au sein de chaque catégorie de fruits. Par exemple, dans le groupe « Bob », le nombre total de « pommes » achetées est de 16 et le nombre total de « raisins » achetés est de 35.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!