2022/3/14 4.9 透视表和重塑dataframe In [ ]: import numpy as np import pandas as pd 在数据分析中,常常需要用到数据透视表和交叉表,下面介绍pandas.DataFrame.pivot_table数据透视表和pandas.DataFrame.crosstab交叉表的用 法和区别。 4.9.1 数据透视表 典型的数据格式是扁平的,只包含行和列,不方便总结信息。数据透视表(pivot table) 是一种类似GroupBy的操作方法,常见于Excel中。数据透视 表将每一列数据作为输入,输出将数据不断细分为多个维度累计信息的二维数据表。 数据透视表用来做数据透视,可以通过一个或多个键分组聚合DataFrame中的数据,通过aggfunc参数决定聚合类型,是groupby的高级功能。 透视表就是将指定原有DataFrame的列分别作为行索引和列索引,然后对指定的列应用聚集函数(默认情况下式mean函数)。 为什么要使用pivot_table? 灵活性高,可以随意定制你的分析计算要求 脉络清晰易于理解数据 操作性强,报表神器 在Python数据分析领域,`pandas`库提供了强大的数据处理能力,其中包括了数据透视表和交叉表的功能。数据透视表和交叉表是数据整理和分析的重要工具,尤其在处理大量扁平化数据时,能帮助我们快速提取关键信息并进行多维度的统计分析。 **数据透视表(pivot_table)** 数据透视表是一种高级的`groupby`操作,它允许用户通过一个或多个键对数据进行分组和聚合,以创建一个多维视角的数据摘要。在`pandas`中,`pivot_table`函数用于实现这一功能。它可以根据不同列的数据创建新的行和列索引,然后对特定列应用聚合函数,如平均值、总和、计数等,默认的聚合函数是平均值(`mean`)。 **pivot_table函数调用参数** - `data`: 需要进行透视操作的`DataFrame`对象。 - `values`: 指定需要进行聚合运算的列名,可以是单个列或列的列表。 - `index`: 作为新表格行索引的列名,同样可以是单个或列表形式。 - `columns`: 作为新表格列索引的列名,也是单个或列表形式。 - `aggfunc`: 指定的聚合函数,默认是`numpy.mean`,也可以是其他统计函数或多个函数的列表。 - `fill_value`: 用于填充缺失值的值。 - `margin`: 是否添加所有行/列的总计,默认为`False`。 - `dropna`: 是否忽略包含`NaN`的列,默认为`True`。 - `margins_name`: 当`margin=True`时,总计行/列的名称。 **示例应用** 1. **按性别统计不同籍贯的学号数目**: ```python pd.pivot_table(st, values='学号', index='性别', columns='籍贯', aggfunc=len) ``` 2. **按性别和籍贯统计学号数目**: ```python pd.pivot_table(st, values='学号', index=['性别', '籍贯'], aggfunc=len) ``` 3. **按性别统计不同籍贯的身高和体重最大值**: ```python pd.pivot_table(st, values=['身高', '体重'], index='性别', columns='籍贯', aggfunc=np.max) ``` 4. **按性别和籍贯统计体重和身高的最大最小值**: ```python pd.pivot_table(st, values=['身高', '体重'], index=['性别', '籍贯'], aggfunc=(np.max, np.min)) ``` 5. **按性别统计不同籍贯的年龄之和,并提供分项汇总统计**: ```python # 示例代码未给出,但可以通过添加aggfunc参数来实现,如 aggfunc={'年龄': 'sum'} ``` 使用`pivot_table`的优点在于其灵活性和强大的数据处理能力,可以根据需求定制分析,同时提供清晰的结构,方便理解和操作。对于复杂的数据分析任务,数据透视表能够有效地将原始数据转化为更便于理解的报表形式。
![docx](https://img-home.csdnimg.cn/images/20210720083331.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)
![ppt](https://img-home.csdnimg.cn/images/20210720083527.png)
![ppt](https://img-home.csdnimg.cn/images/20210720083527.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)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![7z](https://img-home.csdnimg.cn/images/20210720083312.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/release/download_crawler_static/85641248/bg1.jpg)
![avatar](https://profile-avatar.csdnimg.cn/default.jpg!1)
- 粉丝: 363
- 资源: 1万+
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的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)
最新资源
![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)
- 1
- 2
- 3
前往页