DataFrame 的 groupby()使用

本文详细介绍了Pandas库中的GroupBy功能,包括如何按列分组、查看分组信息、迭代遍历分组、选择特定分组以及执行聚合、转换和过滤操作。聚合允许计算汇总统计,如平均值和求和;转换则返回与原始数据大小相同的调整值;过滤则根据条件筛选数据。通过实例展示了如何运用这些功能进行数据处理。
摘要由CSDN通过智能技术生成

@创建于:20210813
@修改于:20210813

1、【易百教程】Pandas分组(GroupBy)

# 语法顺序和逻辑执行顺序
df.groupby([Column1,Column2])[Condition1].agg({Column3: "mean",Column4:"sum"}).reset_index()
# https://blog.csdn.net/weixin_43618989/article/details/105585486

在许多情况下,我们将数据分成多个集合,并在每个子集上应用一些函数。在应用函数中,可以执行以下操作:

聚合 - 计算汇总统计
转换 - 执行一些特定于组的操作
过滤 - 在某些情况下丢弃数据

将数据拆分成组Pandas对象可以分成任何对象。有多种方式来拆分对象,如:

obj.groupby(‘key’)
obj.groupby([‘key1’,’key2’])
obj.groupby(key,axis=1)

查看分组

df.groupby(‘Team’).groups

在这里插入图片描述

迭代遍历分组
使用groupby对象,可以遍历类似itertools.obj的对象。

for name,group in grouped:
    print (name)
    print (group)

选择一个分组

grouped.get_group(2014)

聚合:
聚合函数为每个组返回单个聚合值。当创建了分组(group by)对象,就可以对分组数据执行多个聚合操作。一个比较常用的是通过聚合或等效的agg方法聚合。
通过分组系列,还可以传递函数的列表或字典来进行聚合,并生成DataFrame作为输出 -

grouped[‘Points’].agg(np.mean)
grouped[‘Points’].agg([np.sum, np.mean, np.std]

在这里插入图片描述

转换:
分组或列上的转换返回索引大小与被分组的索引相同的对象。因此,转换应该返回与组块大小相同的结果。

grouped = df.groupby(‘Team’)
score = lambda x: (x - x.mean()) / x.std()*10
print (grouped.transform(score))

过滤:
过滤根据定义的标准过滤数据并返回数据的子集。filter()函数用于过滤数据。

df = pd.DataFrame(ipl_data)
filter = df.groupby(‘Team’).filter(lambda x: len(x) >= 3)

2、官网:pandas.DataFrame.groupby

3、其他网站

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值