15-Pandas之数组分组的高级方法

数据分组的高级方法有3种:

  1. 通过字典进行分组
  2. 通过函数进行分组
  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

  

  

二、根据函数进行分组

三、根据层次化索引进行分组

上一篇:python的日常小练习(六)


下一篇:AcWing 89. a^b