Pandas 数据分组与聚合:掌握数据分析利器,从数据中提取洞察
发布时间: 2024-06-24 02:52:29 阅读量: 64 订阅数: 39
![Pandas 数据分组与聚合:掌握数据分析利器,从数据中提取洞察](https://img-blog.csdnimg.cn/20190729195909770.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ0NjcwODAz,size_16,color_FFFFFF,t_70)
# 1. Pandas 数据分组与聚合概述**
数据分组和聚合是 Pandas 中强大的工具,用于对大型数据集进行总结和分析。数据分组将数据集划分为更小的组,而聚合函数对每个组执行计算,以生成汇总统计信息。
通过分组和聚合,我们可以:
* 识别数据中的模式和趋势
* 汇总和比较不同组之间的差异
* 从大型数据集快速提取有意义的信息
# 2. 数据分组基础
### 2.1 数据分组操作
数据分组是将数据集中的数据按特定键或列进行分类的过程。在 Pandas 中,可以使用 `groupby()` 方法进行分组操作。该方法接收一个或多个分组键作为参数,并返回一个 `GroupBy` 对象。
```python
import pandas as pd
df = pd.DataFrame({'name': ['John', 'Mary', 'Peter', 'Susan', 'John', 'Mary'],
'age': [20, 25, 30, 28, 20, 25]})
# 按 'name' 列分组
grouped = df.groupby('name')
```
### 2.2 分组键和聚合函数
分组键指定了分组的依据,而聚合函数用于对分组后的数据进行汇总计算。Pandas 提供了多种聚合函数,包括求和、求平均值、求最大值、求最小值等。
```python
# 求每组 'name' 的年龄平均值
grouped.mean()
```
| name | age |
|---|---|
| John | 20.0 |
| Mary | 25.0 |
| Peter | 30.0 |
| Susan | 28.0 |
### 2.3 分组结果的探索
分组后的结果是一个 `GroupBy` 对象,它提供了多种方法来探索分组数据。
- **迭代分组:**使用 `itergroups()` 方法可以迭代分组结果,并访问每个分组的键和数据。
- **获取分组键:**使用 `groups` 属性可以获取分组键。
- **获取分组大小:**使用 `size()` 方法可以获取每个分组的大小。
- **获取分组索引:**使用 `indices` 属性可以获取每个分组的索引。
# 3.1 常用聚合函数
Pandas 提供了丰富的聚合函数,可用于对分组数据进行汇总和统计。这些函数可分为以下几类:
#### 3.1.1 数值聚合函数
| 函数 | 描述 |
|---|---|
| `sum()` | 计算组内元素的和 |
| `mean()` | 计算组内元素的平均值 |
| `median()` | 计算组内元素的中位数 |
| `min()` | 计算组内元素的最小值 |
| `max()` | 计算组内元素的最大值 |
| `st
0
0