理解 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中文网其他相关文章!