Maison >développement back-end >Tutoriel Python >Comment la fonction `groupby()` de Pandas peut-elle calculer la somme des valeurs au sein des groupes ?

Comment la fonction `groupby()` de Pandas peut-elle calculer la somme des valeurs au sein des groupes ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-22 04:10:09300parcourir

How Can Pandas' `groupby()` Function Calculate the Sum of Values Within Groups?

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn