Python 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’)创建一个电子表格风格的透视表作为DataFrame。
数据透视表中的层级将被存储在结果数据框架的索引和列上的MultiIndex对象(分层索引)中。
参数:
data : DataFrame
values :要聚合的列,可选。
index:列,Grouper,数组,或之前的列表。
columns:列,Grouper,数组,或前面的列表。
aggfunc:函数,函数列表,dict,默认numpy.mean
**- > ** 如果通过了函数列表,那么产生的透视表将有分层的列,其最高层是函数名称。
**- > ** 如果传递的是dict,键是要聚合的列,值是函数或函数的列表
fill_value[scalar, default None] : 用来替换缺失值的值。
margins[boolean, default False] :添加所有行/列(例如用于小计/大计)。
dropna[boolean, default True] :不包括那些条目全部为NaN的列。
margins_name[string, default ‘All’] : margins为True时,包含总数的行/列的名称。
返回值: DataFrame
代码:
# Create a simple dataframe
   
# importing pandas as pd
import pandas as pd
import numpy as np
   
# creating a dataframe
df = pd.DataFrame({'A': ['John', 'Boby', 'Mina', 'Peter', 'Nicky'],
      'B': ['Masters', 'Graduate', 'Graduate', 'Masters', 'Graduate'],
      'C': [27, 23, 21, 23, 24]})
   
df

# Simplest pivot table must have a dataframe
# and an index/list of index.
table = pd.pivot_table(df, index =['A', 'B'])
  
table

# Creates a pivot table dataframe
table = pd.pivot_table(df, values ='A', index =['B', 'C'],
                         columns =['B'], aggfunc = np.sum)
  
table

 极客教程
极客教程