##### `pd.pivot_table(data, values=None, index=None, columns=None, aggfunc='mean', fill_value=None, margins=False, dropna=True, margins_name='All', observed=False, sort=True)` **功能简介:** - 用于从长格式数据创建一个透视表,类似于 Excel 中的数据透视表。透视表可以对数据进行聚合,并将行和列重新组织。 **参数说明:** - `data`:要使用的长格式数据,通常是一个 DataFrame。 - `values`:要聚合的值,通常是一个数值列的列名或列索引。 - `index`:要放置在行上的行名或行索引。 - `columns`:要放置在列上的列名或列索引。 - `aggfunc`:用于聚合的函数,默认为 `'mean'`,可以是 `'sum'`、`'count'`、`'min'` 等。 - `fill_value`:用于替换缺失值的值。 - `margins`:是否显示汇总行和列。 - `dropna`:是否在计算之前删除包含缺失值的行或列。 - `margins_name`:汇总行和列的名称。 - `observed`:是否只使用观察到的值,用于处理类别变量。 - `sort`:是否对行和列标签进行排序。 **返回值:** - 返回一个新的透视表(DataFrame)。 **用法示例:** 1. 从长格式数据创建透视表: ```python import pandas as pd # 创建一个长格式的 DataFrame data = {'Name': ['Alice', 'Bob', 'Alice', 'Bob'], 'Subject': ['Math', 'Math', 'Science', 'Science'], 'Score': [90, 85, 88, 92]} df = pd.DataFrame(data) # 使用 pivot_table 函数创建透视表 pivot_table = pd.pivot_table(data=df, values='Score', index='Name', columns='Subject', aggfunc='mean') print(pivot_table) ``` 2. 创建包含汇总行和列的透视表: ```python import pandas as pd # 创建一个更复杂的长格式 DataFrame data = {'Name': ['Alice', 'Bob', 'Alice', 'Bob'], 'Subject': ['Math', 'Math', 'Science', 'Science'], 'Type': ['Midterm', 'Midterm', 'Final', 'Final'], 'Score': [90, 85, 88, 92]} df = pd.DataFrame(data) # 使用 pivot_table 函数创建透视表,包含汇总行和列 pivot_table = pd.pivot_table(data=df, values='Score', index=['Name', 'Type'], columns='Subject', aggfunc='mean', margins=True) print(pivot_table) ```