python pivot的用法
时间: 2023-05-29 14:01:10 浏览: 384
Python中的pivot(数据透视表)函数是用来重组和转换数据的重要工具,其用法如下:
1. DataFrame.pivot(index=None, columns=None, values=None): 根据指定的索引、列、值对原DataFrame进行透视。
- index:用作行索引的列名或列名列表。
- columns:用作列索引的列名或列名列表。
- values:要聚合的列名或列名列表,如果省略,则所有列都聚合。
2. DataFrame.pivot_table(values=None, index=None, columns=None,aggfunc=’mean’, fill_value=None, margins=False,dropna=True): 根据指定的索引、列、值对原DataFrame进行透视并计算汇总统计量。
- values:要聚合的列名或列名列表,如果省略,则所有列都聚合。
- index:用作行索引的列名或列名列表。
- columns:用作列索引的列名或列名列表。
- aggfunc:聚合函数,默认为'mean'(平均值),可以是'min'、'max'、'sum'等。
- fill_value:用于填充缺失值的默认值。
- margins:如果为True,添加汇总行和列,默认为False。
- dropna:如果为True,则删除包含任何缺失值的行或列,默认为True。
举个例子:
```
import pandas as pd
data = {'date':['2021-01-01','2021-01-01','2021-01-02','2021-01-02'],
'country':['China','Japan','China','Japan'],
'value':[100,200,300,400]}
df = pd.DataFrame(data)
print(df)
# 透视表
pivot_df = df.pivot(index='date',columns='country',values='value')
print(pivot_df)
# 透视表并计算平均数
pivot_table_df = df.pivot_table(values='value', index='date',columns='country',aggfunc='mean')
print(pivot_table_df)
```
输出结果:
```
date country value
0 2021-01-01 China 100
1 2021-01-01 Japan 200
2 2021-01-02 China 300
3 2021-01-02 Japan 400
country China Japan
date
2021-01-01 100 200
2021-01-02 300 400
country China Japan
date
2021-01-01 100 200
2021-01-02 300 400
```
阅读全文