pd.pivot_table
时间: 2023-07-07 20:05:36 浏览: 56
pandas 中的 `pivot_table` 函数可以用于创建透视表。它接受以下参数:
- `data`: 用于创建透视表的 DataFrame;
- `values`: 需要聚合的列名;
- `index`: 用于分组的列名;
- `columns`: 用于创建列的列名;
- `aggfunc`: 聚合函数,默认为均值。
例如,假设有一个 DataFrame `df`,其中包含 `name`、`year` 和 `score` 三列数据,我们想要按照年份和姓名创建透视表,并且计算每个组的平均分数,可以使用以下代码:
```python
import pandas as pd
df = pd.DataFrame({
'name': ['Alice', 'Bob', 'Alice', 'Charlie', 'Bob', 'Charlie'],
'year': [2018, 2018, 2019, 2019, 2020, 2020],
'score': [80, 85, 90, 95, 85, 90]
})
table = pd.pivot_table(df, values='score', index='year', columns='name', aggfunc='mean')
print(table)
```
输出结果为:
```
name Alice Bob Charlie
year
2018 80.0 85.0 NaN
2019 90.0 NaN 95.0
2020 NaN 85.0 90.0
```
其中,行表示年份,列表示姓名,单元格中的数值表示对应组的平均分数。由于有些组在原始数据中不存在,因此在透视表中对应的单元格显示为 NaN。
阅读全文