Pandas基础之groupby(二)

通过索引级别分组

水费.xlsx

1季度

2季度
1月2月3月4月5月
3023313628
3824342124
2539455022
3130303828
4642284245
5020422550

班级信息.xlsx

姓名班级学号总分
aa1班a333
ab1班b455
ac1班c432
aa2班a420
ab2班b385
ac3班c325
aa3班a330

import pandas as pd
path="D:/班级信息.xlsx"
data=pd.read_excel(path,index_col=[0,1,2])
print(data)
print('-'*70)
data_g=data.groupby(level='班级').mean()
print(data_g)
print('-'*70)
data_avg=data.groupby(level='班级').max()
print(data_avg)
print('-'*70)
path1="D:/水费.xlsx"
data_water= pd.read_excel(path1,header=[0,1])
index1 = ['1季度','1季度','1季度','2季度','2季度']
index2 = ['1月','2月','3月','4月','5月']
mul = pd.MultiIndex.from_arrays([index1,index2],names=['季度','月份'])
data_water2 = pd.DataFrame(data_water,columns=mul)
print(data_water2)
print('-'*80)
data_water3=data_water2.groupby(level='季度',axis=1).max()
print(data_water3)
print('-'*80)
data_water4=data_water2.groupby(level='月份',axis=1).sum()
print(data_water4)

运行结果:

D:\Python\p\Scripts\python.exe "D:\Python\python-learning\数据分析(二)\分组聚合二.py" 
           总分
姓名 班级 学号     
aa 1班 a   333
ab 1班 b   455
ac 1班 c   432
aa 2班 a   420
ab 2班 b   385
ac 3班 c   325
aa 3班 a   330
----------------------------------------------------------------------
            总分
班级            
1班  406.666667
2班  402.500000
3班  327.500000
----------------------------------------------------------------------
     总分
班级     
1班  455
2班  420
3班  330
----------------------------------------------------------------------
季度 1季度         2季度    
月份  1月  2月  3月  4月  5月
0   32  24  40  33  41
1   20  30  23  21  32
2   45  37  39  40  45
3   29  42  26  44  35
4   38  21  24  41  34
5   40  46  31  27  49
--------------------------------------------------------------------------------
季度  1季度  2季度
0    40   41
1    30   32
2    45   45
3    42   44
4    38   41
5    46   49
--------------------------------------------------------------------------------
月份  1月  2月  3月  4月  5月
0   32  24  40  33  41
1   20  30  23  21  32
2   45  37  39  40  45
3   29  42  26  44  35
4   38  21  24  41  34
5   40  46  31  27  49
D:\Python\python-learning\数据分析(二)\分组聚合二.py:20: FutureWarning: DataFrame.groupby with axis=1 is deprecated. Do `frame.T.groupby(...)` without axis instead.
  data_water3=data_water2.groupby(level='季度',axis=1).max()
D:\Python\python-learning\数据分析(二)\分组聚合二.py:23: FutureWarning: DataFrame.groupby with axis=1 is deprecated. Do `frame.T.groupby(...)` without axis instead.
  data_water4=data_water2.groupby(level='月份',axis=1).sum()

进程已结束,退出代码为 0

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值