python学习小组分组程序_python库学习笔记——分组计算利器:pandas中的groupby技术...

本文介绍了如何使用Pandas的groupby函数进行数据分组计算。通过示例展示了如何按一个或多个键对DataFrame进行行或列上的分组,计算指定列的平均值,并对多重键进行迭代。同时,提供了对分组数据进行操作的多种方法,帮助读者深入理解分组计算在数据分析中的应用。
摘要由CSDN通过智能技术生成

最近处理数据需要分组计算,又用到了groupby函数,温故而知新。

分组运算的第一阶段,pandas 对象(无论是 Series、DataFrame 还是其他的)中的数据会根据你所提供的一个或多个键被拆分(split)为多组。拆分操作是在对象的特定轴上执行的。例如,DataFrame 可以在其行(axis=0)或列(axis=1)上进行分组。然后,将一个函数应用到各个分组并产生一个新值。最后,所有这些函数的执行结果会被合并到最终的结果对象中。结果对象的形式一般取决于数据上所执行的操作。

8d9caf58b7cf847cd7548194a57d3ed9.png

举例说明,生成随机DataFrame数据

输入

df = DataFrame({'key1':['a','a','b','b','a'],

'key2':['one','two','one','two','one'],

'data1':np.random.randn(5),

'data2':np.random.randn(5)})输出df

1b42a85a4711f4f532cc8563308cf02c.png

假设我们想要按 key1 进行分组,并计算 data1 列的平均值。

输入

df['data1'].groupby(df['key1']).mean() or df.groupby('key1')['data1'].mean()输出

key1

a 0.310092

b -0.785952

Name: data1, dtype: float64

假设我们想要按 key1 ,key2进行分组,并计算 data1 列的平均值。

输入

df['data1'].groupby([df['key1'],df['key2']]).mean() or df.groupby(['key1','key2'])[['data1']].mean()输出

key1 key2

a one -0.078753

two 1.087782

b one -1.346429

two -0.225475

Name: data1, dtype: float64

另外,我们可以对分组进行迭代,以多重键为例:

输入

for name,group in df.groupby('key1'):

print (name)

print (group)输出

a

data1 data2 key1 key2

0 0.033971 0.066088 a one

1 1.087782 -0.095748 a two

4 -0.191477 -0.057805 a one

b

data1 data2 key1 key2

2 -1.346429 0.648059 b one

3 -0.225475 1.440988 b two

参考资料:《利用python进行数据分析》

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值