python pandas做数据透视表
时间: 2024-04-08 12:27:21 浏览: 68
在Python中,可以使用pandas库的pivot_table函数来实现数据透视表的功能[^1][^1]。pivot_table函数的基本语法如下:
```python
pandas.pivot_table(data, values=None, index=None, columns=None, aggfunc='mean', fill_value=None, margins=False, dropna=True, margins_name='All', observed=False)
```
其中,参数说明如下:
- data:要进行数据透视的数据集。
- values:要聚合的列名。
- index:作为行索引的列名。
- columns:作为列索引的列名。
- aggfunc:聚合函数,默认为'mean',表示计算均值。
- fill_value:用于填充缺失值的值。
- margins:是否显示行和列的汇总,默认为False。
- dropna:是否删除包含缺失值的行,默认为True。
- margins_name:汇总行和列的名称,默认为'All'。
- observed:是否观察到所有的值,默认为False。
下面是一个示例,演示如何使用pivot_table函数进行数据透视表操作:
```python
import pandas as pd
# 创建示例数据集
data = {'Name': ['Alice', 'Bob', 'Charlie', 'Alice', 'Bob', 'Charlie'],
'City': ['New York', 'London', 'Paris', 'New York', 'London', 'Paris'],
'Salary': [5000, 6000, 7000, 5500, 6500, 7500]}
df = pd.DataFrame(data)
# 使用pivot_table函数进行数据透视
pivot_table = pd.pivot_table(df, values='Salary', index='Name', columns='City', aggfunc='mean')
print(pivot_table)
```
运行以上代码,将会输出以下结果:
```
City London New York Paris
Name
Alice NaN 5250.0 NaN
Bob 6250.0 NaN NaN
Charlie NaN NaN 7250.0
```
这个结果展示了根据姓名和城市对薪水进行了聚合,并以姓名作为行索引,以城市作为列索引的数据透视表。
阅读全文