pandas 聚合
1. 引言
在数据分析和数据处理过程中,聚合是一个非常重要的操作。我们需要将数据进行分组后,对每个组中的数据进行某种计算,如求和、平均值等。Pandas 是 Python 中常用的数据分析库,它提供了丰富的聚合操作方法,方便我们进行数据处理和分析的工作。本文将详细介绍 Pandas 中的聚合操作,包括分组、聚合函数和多级分组等内容。
2. 数据准备
为了说明聚合操作的使用方法,我们首先需要准备一些数据。我们使用一个示例数据集,包含了某个公司员工的基本信息、薪资和部门等数据。这个数据集以 DataFrame 的形式存储,每一行代表一个员工的数据,每一列代表不同的属性。下面是示例数据集的前几行:
姓名 | 年龄 | 性别 | 部门 | 薪资 |
---|---|---|---|---|
张三 | 25 | 男 | A | 5000 |
李四 | 30 | 男 | A | 6000 |
王五 | 35 | 女 | B | 7000 |
赵六 | 28 | 男 | B | 5500 |
钱七 | 32 | 女 | C | 4500 |
我们将上述数据保存到名为 data.csv
的文件中,并使用 Pandas 的 read_csv()
函数读取数据:
import pandas as pd
df = pd.read_csv('data.csv')
3. 分组聚合
3.1 分组
分组是聚合操作的前提,我们需要将数据按照某个属性进行分组,然后对每个组进行相同的聚合操作。在 Pandas 中,我们可以使用 groupby()
方法进行分组。下面的示例将数据按照部门属性进行分组:
grouped = df.groupby('部门')
3.2 聚合函数
Pandas 提供了一些常用的聚合函数,如求和、平均值、最大值、最小值等。我们可以通过在分组对象上调用这些聚合函数来进行计算。下面是一些常用的聚合函数及对应的调用方法:
- 求和:
sum()
- 平均值:
mean()
- 最大值:
max()
- 最小值:
min()
- 统计数量:
count()
下面的示例将分组对象进行求和操作:
sums = grouped['薪资'].sum()
3.3 多个聚合函数
除了单个聚合函数外,我们也可以同时应用多个聚合函数,通过在聚合函数名称上使用列表的方式来实现。下面的示例同时计算均值和总和:
agg_results = grouped['薪资'].agg(['mean', 'sum'])
4. 多级分组
除了单一属性的分组外,有时候我们需要按照多个属性进行分组,称之为多级分组。多级分组可以为我们提供更细粒度的数据分析和计算。在 Pandas 中,我们可以直接传入多个属性名称来进行多级分组。下面的示例将数据按照部门和性别进行多级分组:
grouped = df.groupby(['部门', '性别'])
5. 结论
本文介绍了 Pandas 中聚合操作的基本使用方法,包括分组、聚合函数和多级分组等内容。在实际数据处理和分析中,聚合操作是非常重要的一环,它可以帮助我们快速计算和分析数据,得出有价值的结论。通过灵活运用 Pandas 的聚合函数,我们可以方便地实现各种复杂的数据分析需求。