所用数据前五条
目标
生成数据透视图
crosstab
pd.crosstab(index=data['admit'],columns=data['prestige'])
以上代码用于计数,如要展示其他数据,可设置crosstab中的values参数和aggfunc参数
values:透视图中间数据
aggfunc:中间数据的计算方式
如图 ,中间数据为gpa,计算方式为mean
pd.crosstab(values=data['gpa'],index=data['admit'],columns=data['prestige'],aggfunc='mean')
margins 和margins_name,各行各列数据求和,以及命名
pd.crosstab(values=data['gpa'],index=data['admit'],columns=data['prestige'],margins=True,margins_name='Total',aggfunc='count')
normalize参数:各数据占比,如图分布为normalize=True ,normalize=1,normalize=0
pivot_table
与crosstab功能基本相似,输入有所不同,crosstab输入为单列数据,pivot_table输入完整数据并从中取列
pd.pivot_table(data=data,values=['gpa','gre'],
index='admit',columns='prestige',
margins=True,margins_name='Total',aggfunc='count')
参数和crosstab差别不大。使用时可以根据需要设置values值
groupby
通过两个特征进行分组,之后选择数据展示方式
data.groupby(['admit','prestige']).count()
需要将prestige转换为列:使用unstack()函数
data.groupby(['admit','prestige']).count().unstack()
数据的选择:A处选择想要的数据,B处选择数据的展示方式