文章目录
- 一、官方文档
- 二、参数解析
- 三、案例解析
* - 3.1 新建数据集
- 3.2 两种写法
- 3.3 columns参数
- 3.4 fill_value 缺失值填充
- 3.5 margins 求合计
- 3.6 dropna 删除缺失值
- 3.7 aggfunc 聚合函数与自定义函数
一、官方文档
二、参数解析
DataFrame.pivot_table(
values=None,
index=None,
columns=None,
aggfunc='mean',
fill_value=None,
margins=False,
dropna=True,
margins_name='All',
)
三、案例解析
3.1 新建数据集
import pandas as pd
import numpy as np
df = pd.DataFrame({
"A": ["foo", "foo", "foo", "foo", "foo","bar", "bar", "bar", "bar"],
"B": ["one", "one", "one", "two", "two","one", "one", "two", "two"],
"C": ["small", "large", "large", "small","small", "large", "small", "small","large"],
"D": [1, 2, np.nan, 3, 3, 4, 5, 6, 7],
"E": [2, 4, 5, 5, np.nan, 6, 8, 9, 9]
})
3.2 两种写法
df.pivot_table(
values=['D','E'],
index=['A','C'],
aggfunc=[min,max,np.mean]
)
pd.pivot_table(
df,
values=['D','E'],
index=['A','C'],
aggfunc=[min,max,np.mean]
)
3.3 columns参数
pd.pivot_table(
df,
values=['D','E'],
columns=['A'],
aggfunc=[min,max,np.mean]
)
3.4 fill_value 缺失值填充
df.pivot_table(
values=['D','E'],
index=['A','B','C'],
aggfunc=[min,max,np.mean,np.std],
fill_value=9999,
)
3.5 margins 求合计
df.pivot_table(
values=['D','E'],
index=['A','B'],
columns=['C'],
margins=True,
margins_name="合计"
)
3.6 dropna 删除缺失值
df.pivot_table(
values=['D'],
index=['A','B'],
columns=['C'],
dropna=True,
aggfunc=np.min
)
3.7 aggfunc 聚合函数与自定义函数
- 采用字典方法
- 通过 lambda 方法可以传入自定义函数
df.pivot_table(
values=['C', 'E'],
index=['A', 'B'],
aggfunc={
'C': ["count","unique",lambda x:len(x.unique())],
'E': np.mean
}
)
Original: https://blog.csdn.net/small__roc/article/details/126892343
Author: 数据分析小鹏友
Title: python pandas.pivot_table透视表函数
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/742037/
转载文章受原作者版权保护。转载请注明原作者出处!