Home >Backend Development >Python Tutorial >How Can Pandas' `groupby()` Function Calculate the Sum of Values Within Groups?
Understanding GroupBy for Aggregated Calculations in Pandas
When working with large datasets, pandas offers a powerful function called groupby() to group data by specific columns and perform calculations on the grouped data. In this context, let's explore how to utilize groupby() to calculate the sum of values within groups.
Consider the following dataframe, where we have details about fruit purchases by individuals over several 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 |
Goal: Calculate the Sum of Fruit Purchases Grouped by Name
We aim to calculate the total number of fruits purchased by each individual, grouping the data by both the fruit (Fruit) and the person's name (Name).
Solution: Using GroupBy.sum()
To achieve this, we employ the groupby() function with the columns for grouping:
result = df.groupby(['Fruit', 'Name']).sum()
The sum() method applied to the grouped data automatically aggregates the values in the specified column (in this case, Number represents the number of fruits purchased).
Output:
The output of the code provides us with the aggregated values:
| | 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 |
Here, we can observe the total number of fruits purchased by each individual within each fruit category. For instance, in the 'Bob' group, the total number of 'Apples' purchased is 16, and the total 'Grapes' purchased is 35.
The above is the detailed content of How Can Pandas' `groupby()` Function Calculate the Sum of Values Within Groups?. For more information, please follow other related articles on the PHP Chinese website!