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
Scroll To Top