首页 >后端开发 >Python教程 >如何对 Pandas 中的数据进行分组和求和以计算客户和水果类型的总购买量?

如何对 Pandas 中的数据进行分组和求和以计算客户和水果类型的总购买量?

Barbara Streisand
Barbara Streisand原创
2024-12-25 14:55:15334浏览

How Can I Group and Sum Data in Pandas to Calculate Total Purchases by Customer and Fruit Type?

对 Pandas 中的数据进行分组和求和

在数据分析中,通常需要按特定标准聚合数据以获得有意义的见解。 Pandas 是一个强大的 Python 数据操作库,它提供了 groupby() 方法来根据一列或多列对数据进行分组。此方法可以与聚合函数(例如 sum())结合使用,来计算每个组的聚合值。

按组计算值的总和

假设我们有一个包含个人水果消费信息的数据框。每行代表一次水果购买,包括水果类型、购买日期、顾客姓名、购买水果数量。

计算每个人购买的水果总数,按水果类型和顾客姓名分组,我们可以使用以下步骤:

第 1 步:对数据进行分组

首先,我们按两者对 DataFrame 进行分组使用 groupby() 方法的“Fruit”和“Name”列:

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

这将创建一个 SeriesGroupBy 对象,它表示分组数据。

第 2 步:应用Sum 函数

为了计算每组购买的水果总数,我们将 sum() 函数应用于分组系列:

df_grouped_sum = df_grouped['Number'].sum()

生成的系列 df_grouped_sum 包含水果类型和客户名称的每个独特组合的水果购买总和。

示例

考虑以下因素DataFrame:

   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

对这个 DataFrame 应用 groupby() 和 sum() 操作,我们得到以下结果:

                 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

此输出显示了 购买的水果总数每个人,按水果类型细分。

以上是如何对 Pandas 中的数据进行分组和求和以计算客户和水果类型的总购买量?的详细内容。更多信息请关注PHP中文网其他相关文章!

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