数据透视表 pivot_table()
pivot_table(self, values=None, index=None, columns=None,aggfunc='mean',
fill_value=None, margins=False,dropna=True, margins_name='All'):
'''
values:需要聚合的列名,默认所有数值的列
index:在结果透视表的行上进行分组的列名分组键
columns:在结果透视表的列上进行分组的列名分组键
aggfunc:聚合函数或函数列表,默认为mean
fill_value:在结果表中替换缺失值的值
margins:添加行列总计(与aggfunc对应)
dropna:是否除去均为nan的列
margins_name:与margins对应
'''
tips=pd.read_csv('tips.csv')
#下列两组效果一样
result1=tips.pivot_table(index=['day','smoker'])
tips.groupby(by=['day','smoker']).agg('mean')
print(result1)
'''
size tip total_bill
day smoker
Fri No 2.250000 2.812500 18.420000
Yes 2.066667 2.714000 16.813333
Sat No 2.555556 3.102889 19.661778
Yes 2.476190 2.875476 21.276667
Sun No 2.929825 3.167895 20.506667
Yes 2.578947 3.516842 24.120000