熟悉Excel的应该都知道数据透视表,在Python中也有数据透视表的功能,就是pivot_table,默认参数有

pd.pivot_table(data, values=None, index=None, 
columns=None, aggfunc='mean',fill_value=None,
margins=False,dropna=True,margins_name='All')

data就是将要透视的数据表,values是计算的字段,index是要分组的列,colulumns用于分组的列,出现在透视表的行,aggfunc,聚合函数,默认是mean,也可以自定义函数,fill_value用于替换结果表中的缺失值,margins添加行/列小计和总计,dropna为True时意思是剔除掉全为NaN的列,margins_name为总计的名称;下面例子的数据来源于kaggle:https://www.kaggle.com/wendykan/lending-club-loan-data

#读取数据
import numpy as np
import pandas as pd

df = pd.read_csv('loan_csv')
df.head(5)

看不同期数term下的合同状态:

pd.pivot_table(df, index=['loan_status'],values=['id'],
columns=['term'] ,aggfunc='count', margins=True)

看不同期数下贷款金额的总额、平均值和标准差,然后自定义一个函数,把最大贷款总额以万为单位显示

pd.pivot_table(df, index='term', values=['loan_amnt'], 
aggfunc=[np.sum, np.mean, np.std,lambda x:max(x)/10000])