pandas.pivot_table¶
-
pandas.
pivot_table
(data, values=None, index=None, columns=None, aggfunc='mean', fill_value=None, margins=False, dropna=True, margins_name='All')[source]¶ 创建一个电子表格样式的数据透视表作为DataFrame。数据透视表中的级别将存储在结果的索引和列上的MultiIndex对象(分层索引)中DataFrame
参数: data:DataFrame
值:要聚合的列,可选
索引:列,Grouper,数组或上一个的列表
如果传递数组,它必须与数据的长度相同。该列表可以包含任何其他类型(除列表外)。按分组依据的数据透视表索引。如果传递数组,则其使用方式与列值相同。
列:列,Grouper,数组或上一个列表
如果传递数组,它必须与数据的长度相同。该列表可以包含任何其他类型(除列表外)。分组依据的关键字数据透视表列。如果传递数组,则其使用方式与列值相同。
aggfunc:函数或函数列表,默认为numpy.mean
如果传递函数列表,则生成的数据透视表将具有顶级为函数名称的层次列(从函数对象本身推断)
fill_value:标量,默认值无
用缺省值替换的值
边距:boolean,默认为False
添加所有行/列(例如,小计/总计)
dropna:boolean,default True
不要包括条目都是NaN的列
margins_name:string,default'All'
当边距为True时,将包含总计的行/列的名称。
返回: 表:DataFrame
例子
>>> df A B C D 0 foo one small 1 1 foo one large 2 2 foo one large 2 3 foo two small 3 4 foo two small 3 5 bar one large 4 6 bar one small 5 7 bar two small 6 8 bar two large 7
>>> table = pivot_table(df, values='D', index=['A', 'B'], ... columns=['C'], aggfunc=np.sum) >>> table small large foo one 1 4 two 6 NaN bar one 5 4 two 6 7