数据分组的高级方法有3种:
若希望按照特征类别进行分组,可创建一个映射字典
>>> df = pd.read_excel(‘C:/Users/xhl/Desktop/input/data1.xlsx‘)
>>> df
A_male B_female C_female D_male
0 87 89 97 95
1 68 90 94 89
2 89 83 96 85
3 66 84 90 82
#创建一个映射字典
>>> mapper = {‘A_male‘:‘Male‘,‘B_female‘:‘Female‘,‘C_female‘:‘Female‘,‘D_male‘:‘Male‘}
#通过传入硬着字典,指定分组依据位于列上,对不同类别的特征进行分组
>>> grouped = df.groupby(mapper,axis=1)
#获取分组信息
>>> grouped.get_group(‘Male‘)
A_male D_male
0 87 95
1 68 89
2 89 85
3 66 82
>>> grouped.get_group(‘Female‘)
B_female C_female
0 89 97
1 90 94
2 83 96
3 84 90
#先对各组数据按照横向轴进行计算
>>> grouped.mean()
Female Male
0 93.0 91.0
1 92.0 78.5
2 89.5 87.0
3 87.0 74.0
#在上一步的基础上,按照纵向轴进行计算
>>> grouped.mean().mean()
Female 90.375
Male 82.625
dtype: float64
原文:https://www.cnblogs.com/Cheryol/p/13443383.html