Home >Backend Development >Python Tutorial >How Can Pandas' `groupby()` Function Calculate the Sum of Values Within Groups?

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

Linda Hamilton
Linda HamiltonOriginal
2024-12-22 04:10:09343browse

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!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn