【python pandas groupby】


groupby语法

df.groupby(
    by=None,
    axis=0,
    level=None,
    as_index: bool = True,
    sort: bool = True,
    group_keys: bool = True,
    squeeze: bool = False,
    observed: bool = False,
) 

GroupBy 四种分组键

DataFrame列名的值

  • 其中列名可以是一个单列名,也可以是一个包含多列名的数组
  • 列名变成分组后index行索引的名字
  • as_index设成False的时候,禁用分组键作为行索引
    在这里插入图片描述
    在这里插入图片描述

可以将分组轴向上的值和分组名称相匹配的字典或者Series

Series

在这里插入图片描述
在这里插入图片描述

字典

字典中的键不需要包含所有的index,也可以包含index中没有的键
在这里插入图片描述
在这里插入图片描述

与需要分组的轴向长度一致的值列表或者值数组

  • 当使用值列表时,分组的index不再有默认名字
    在这里插入图片描述

可以在轴索引或者索引中的单个标签上调用的函数

作为分组键传递的函数将会按照每个索引值调用一次,同时返回值会被用作分组名称。
在这里插入图片描述

groupby().get_group()

pandas按照列groupby后,可以按照值取对应的group。
当对多列进行groupby时,get_group时需要输入多列值的tuple,比如get_group((‘a’, 1)),其中’a’为第一个group列中的某个值,1为第二个group列中的某个值。

import pandas as pd
df = pd.DataFrame({'col1':['a', 'b', 'c','a', 'b', 'c'], 'col2':[1,2,3,4,5,6]})
df
>>> col1	col2
0	a	1
1	b	2
2	c	3
3	a	4
4	b	5
5	c	6

df.groupby('col1').get_group('a')
>>> col1	col2
0	a	1
3	a	4

df.groupby(['col1', 'col2']).get_group(('a', 1))
>>> col1	col2
0	a	1
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值