首页 >后端开发 >Python教程 >Pandas 的'groupby()”函数如何计算组内值的总和?

Pandas 的'groupby()”函数如何计算组内值的总和?

Linda Hamilton
Linda Hamilton原创
2024-12-22 04:10:09300浏览

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

理解 Pandas 中的 GroupBy 聚合计算

在处理大型数据集时,pandas 提供了一个名为 groupby() 的强大函数来对数据进行分组特定列并对分组数据执行计算。在这种情况下,让我们探讨如何利用 groupby() 计算组内值的总和。

考虑以下数据框,其中我们有有关个人在多个日期购买水果的详细信息:

| 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 |

目标:计算按名称分组的水果购买总和

我们的目标是计算每个人购买的水果总数,按水果(Fruit)和人名(Name)对数据进行分组。

解决方案:使用 GroupBy.sum()

为了实现这一点,我们使用 groupby() 函数对列进行分组:

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

应用于分组数据的 sum() 方法会自动聚合指定列中的值(在本例中,Number 表示购买的水果数量)。

输出:

代码的输出为我们提供了聚合值:

|               | 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 |

在这里,我们可以观察每个人购买的水果总数在每个水果类别中。例如,在“鲍勃”组中,购买的“苹果”总数为 16 个,购买的“葡萄”总数为 35 个。

以上是Pandas 的'groupby()”函数如何计算组内值的总和?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn