图解python.pandas groupby & pivot_table

图解:pandas groupby( )

在这里插入图片描述

pandas groupby( )代码

import pandas as pd
test_df = pd.DataFrame({ 'col_1':['a', 'a', 'b', 'a', 'a', 'b', 'c', 'a', 'c'],
                         'col_2':['d', 'd', 'd', 'e', 'f', 'e', 'd', 'f', 'f'],
                         'col_3':[ 1,  2,  3,   1,  4,  5,  6,  4,  5]})
test_df  :
     col_1   col_2   col_3

0     a         d         1
1     a         d         2
2     b         d         3
3     a         e         1
4     a         f         4
5     b         e         5
6     c         d         6
7     a         f         4
8     c         f         5

gp_df = test_df.groupby(by=['col_1','col_2'])['col_3'].agg({'c3_sum':sum})
gp_df:                   

                             c3_sum

   col_1      col_2        
      a           d             3
                  e             1
                  f             8
      b           d             3
                  e             5
      c           d             6
                  f             5

gp_df.inde x:
MultiIndex(levels=[['a', 'b', 'c'], ['d', 'e', 'f']],
                   labels=[[0, 0, 0, 1, 1, 2, 2], [0, 1, 2, 0, 1, 0, 2]],
                   names=['col_1', 'col_2'])


gp_df.columns:
Index(['c3_sum'], dtype='object')

图解:pandas pivot_table( )

在这里插入图片描述

pandas pivot_table( )代码

import pandas as pd
test_df = pd.DataFrame({ 'col_1':['a', 'a', 'b', 'a', 'a', 'b', 'c', 'a', 'c'],
                         'col_2':['d', 'd', 'd', 'e', 'f', 'e', 'd', 'f', 'f'],
                         'col_3':[ 1,  2,  3,   1,  4,  5,  6,  4,  5]})
 
test_df  :
     col_1   col_2   col_3

0     a         d         1
1     a         d         2
2     b         d         3
3     a         e         1
4     a         f         4
5     b         e         5
6     c         d         6
7     a         f         4
8     c         f         5

pt_df = test_df.pivot_table(values='col_3', index='col_1', columns='col_2', aggfunc=sum)
pt_df:

col_2     d       e        f
col_1               
a         3.0     1.0     8.0
b         3.0     5.0     NaN
c         6.0     NaN     5.0

pt_df.index:
Index(['a', 'b', 'c'], dtype='object', name='col_1')

pt_df.columns:
Index(['d', 'e', 'f'], dtype='object', name='col_2')

常用的统计函数:

size:   聚合后样本数
sum:    聚合后样本求和
mean:   聚合后样本求均值
count:  聚合后样本计数 注:在使用count的时候应加上引号 'count_col_name' : 'count'
  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值