数据分组的高级方法有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