pivot_table 函数如何使用
时间: 2023-06-16 14:05:42 浏览: 92
Pandas透视表(pivot_table)详解
5星 · 资源好评率100%
`pivot_table` 是 pandas 库中的一个函数,用于对数据进行透视操作。它可以根据给定的行、列和值,将原始数据表格转换成一个新的表格,其中行和列是由用户指定的,而值是通过聚合来计算的。
`pivot_table` 的基本语法如下:
```python
pivot_table(data, values=None, index=None, columns=None, aggfunc='mean', fill_value=None, margins=False, margins_name='All')
```
其中,参数含义如下:
- `data`:要进行透视操作的数据集,可以是 pandas 的 DataFrame 或者 Series 对象。
- `values`:要聚合的列名或列名列表。默认聚合所有数值型的列。
- `index`:用于分组的列名或列名列表。默认为 None,表示不进行分组。
- `columns`:用于形成新列的列名或列名列表。默认为 None,表示不进行形成新列操作。
- `aggfunc`:聚合函数,可以是内置的聚合函数(如 mean、sum、count 等),也可以是自定义的函数。默认为 'mean'。
- `fill_value`:用于替换缺失值的值。默认为 None。
- `margins`:是否在结果中添加行/列小计。默认为 False。
- `margins_name`:小计行/列的名称。默认为 'All'。
下面是一个简单的例子,展示了如何使用 `pivot_table` 函数:
```python
import pandas as pd
# 创建一个数据集
df = pd.DataFrame({
'Name': ['Alice', 'Bob', 'Charlie', 'David', 'Emily'],
'Gender': ['F', 'M', 'M', 'M', 'F'],
'Age': [25, 30, 35, 40, 45],
'Salary': [5000, 6000, 7000, 8000, 9000]
})
# 对数据进行透视操作
result = pd.pivot_table(df, values='Salary', index='Gender', columns='Age', aggfunc='mean')
print(result)
```
输出结果如下:
```
Age 25 30 35 40 45
Gender
F 5000.0 NaN NaN NaN 9000.0
M NaN 6000.0 7000.0 8000.0 NaN
```
这里我们以 `Gender` 为行,`Age` 为列,`Salary` 为值,计算了不同年龄段男女的平均工资。
阅读全文