Maison >développement back-end >Tutoriel Python >Comment Pandas GroupBy peut-il calculer le nombre total de fruits par nom ?

Comment Pandas GroupBy peut-il calculer le nombre total de fruits par nom ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-23 06:02:19191parcourir

How Can Pandas GroupBy Calculate Total Fruits per Name?

Pandas Group-By : Détermination des totaux de fruits par nom

Dans les scénarios de manipulation de données, il est souvent nécessaire d'agréger les données en fonction de critères spécifiés . La méthode groupby de Pandas offre une solution puissante pour regrouper des données et effectuer diverses agrégations. Cet article montrera comment utiliser groupby pour calculer la somme des fruits pour chaque nom dans un ensemble de données donné.

Énoncé du problème :

Étant donné une trame de données avec des colonnes représentant les fruits , Date, Nom et Numéro :

import pandas as pd

df = pd.DataFrame({
    'Fruit': ['Apples', 'Apples', 'Apples', 'Apples', 'Apples', 'Oranges', 'Oranges', 'Oranges', 'Oranges', 'Oranges', 'Grapes', 'Grapes', 'Grapes', 'Grapes', 'Grapes'],
    'Date': ['10/6/2016', '10/6/2016', '10/6/2016', '10/7/2016', '10/7/2016', '10/7/2016', '10/6/2016', '10/6/2016', '10/6/2016', '10/7/2016', '10/7/2016', '10/7/2016', '10/7/2016', '10/7/2016', '10/7/2016'],
    'Name': ['Bob', 'Bob', 'Mike', 'Steve', 'Bob', 'Bob', 'Tom', 'Mike', 'Bob', 'Tony', 'Bob', 'Tom', 'Bob', 'Bob', 'Tony'],
    'Number': [7, 8, 9, 10, 1, 2, 15, 57, 65, 1, 1, 87, 22, 12, 15]
})

Solution :

Pour calculer la somme des fruits pour chaque nom, suivez ces étapes :

result_df = df.groupby(['Fruit', 'Name'])['Number'].sum()

Cette opération regroupera les données par colonnes « Fruit » et « Nom » et agrégera la colonne « Nombre » en prenant la somme. Le résultat sera une trame de données contenant le nombre total de fruits pour chaque combinaison de « Fruit » et « Nom ».

Résultat :

La trame de données résultante ressemblera au suivant :

               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

Si une colonne spécifique doit être spécifiée pour l'agrégation, la syntaxe suivante peut être utilisé :

result_df = df.groupby(['Name', 'Fruit'])['Number'].sum()

En utilisant les fonctions groupby et sum de Pandas, nous pouvons regrouper et agréger efficacement les données pour obtenir des informations significatives à partir de grands ensembles de données, ce qui en fait un outil puissant pour l'exploration et l'analyse des données.

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