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

  

  

二、根据函数进行分组

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

相关文章

转载:一文讲述Pandas库的数据读取、数据获取、数据拼接、数...
Pandas是一个开源的第三方Python库,从Numpy和Matplotlib的基...
整体流程登录天池在线编程环境导入pandas和xrld操作EXCEL文件...
 一、numpy小结             二、pandas2.1为...
1、时间偏移DateOffset对象DateOffset类似于时间差Timedelta...
1、pandas内置样式空值高亮highlight_null最大最小值高亮背景...