在数据分析领域,Pandas库是不可或缺的工具,尤其在处理和分析结构化数据时。本文主要探讨了Pandas中的数据分组和聚合操作,这是数据分析过程中非常关键的步骤,能够帮助我们有效地摘要和理解数据。 Pandas的GroupBy机制遵循"split-apply-combine"的模式,即将数据拆分(split)、对每个子集应用(apply)某种函数,然后将结果合并(combine)成一个新的数据结构。DataFrame可以通过行或列进行分组,这主要通过`groupby()`函数实现。 1. **分组大小**: `groupby()`方法后可以调用`size()`来获取每个分组的大小,返回一个包含各组大小的Series。 2. **迭代分组**: 可以通过迭代`groupby()`对象来访问每个分组,比如`for key, group in df.groupby(['key1', 'key2']):`,其中`key`是分组键,`group`是对应的DataFrame子集。 3. **选择列**: 在分组后,可以指定列进行聚合操作,例如`df.groupby(['key1', 'key2'])[['data2']].mean()`计算指定列的平均值。 4. **分组方式**: - **按列分组**:直接传入列名或列的索引。 - **按字典或Series分组**:可以使用字典或Series,键对应分组依据,值为需要分组的列。 - **按函数分组**:可以使用函数,如`people.groupby(len).sum()`,这里根据人名长度分组。 - **按索引级别分组**:在层次化索引数据中,通过`level`参数指定分组的索引级别。 5. **数据聚合**: Pandas提供了一系列内置的聚合函数,如`count()`、`sum()`、`mean()`、`median()`、`std()`、`var()`、`min()`、`max()`、`prod()`、`first()`、`last()`等。可以使用`agg()`方法结合这些函数名进行聚合,同时也可以自定义函数进行聚合。 6. **面向列的多函数应用**: 可以一次对不同列应用多个函数,或是对同一列使用不同的函数。例如,`grouped.agg(['mean', 'std'])`或`grouped.agg({'tip': np.max, 'bill': 'sum'})`。 7. **transform操作**: `transform()`函数用于将函数应用于每个分组,并将结果放回原始位置,保持与原数据相同形状。当分组函数返回标量时,该值会广播到整个分组。 8. **描述性统计**: 对于GroupBy对象,调用`describe()`方法可快速获得各个分组的描述性统计信息。 9. **透视表(pivot_table)**: 使用`pivot_table()`函数可以创建类似Excel透视表的数据结构,它基于多个键进行聚合,并将数据分配到行和列上的矩形区域。例如,`tips.pivot_table('tip_pct', index=['time', 'size', 'smoker'], columns='day', aggfunc='mean', fill_value=0)`。 这些操作在数据探索、数据清洗、特征工程和模型构建等环节都发挥着重要作用。熟练掌握Pandas的分组和聚合方法,能够提高数据处理的效率,帮助我们更好地理解和解读数据。
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pptx](https://img-home.csdnimg.cn/images/20210720083543.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![ipynb](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![thumb](https://img-home.csdnimg.cn/images/20210720083646.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![avatar-default](https://csdnimg.cn/release/downloadcmsfe/public/img/lazyLogo2.1882d7f4.png)
![avatar](https://profile-avatar.csdnimg.cn/default.jpg!1)
- 粉丝: 5
- 资源: 985
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
最新资源
- AI绘画工具介绍(文档)
- pandas-2.2.2-cp311-cp311-musllinux-1-1-aarch64.whl
- 小程序开发基础与简单示例.pdf
- matlab:读取图像+显示图像+显示图像的直方图+直方图均衡
- pandas-2.2.2-cp311-cp311-manylinux-2-17-x86-64.manylinux2014.whl
- 如何充分运用ansys的HELP
- pandas-2.2.2-cp311-cp311-musllinux-1-1-x86-64.whl
- C语言可变长数组(VLA)详解与应用
- android-studio-2024.1.1.12-windows-zip.zip.001
- 辰光PHP客服系统多商户全开源V3.1版+安装教程
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback-tip](https://img-home.csdnimg.cn/images/20220527035111.png)
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)