pandas中grouopby使用(一)

#-*- coding:utf-8 -*-
import pandas as pd
import numpy as np
df=pd.DataFrame({'key1':['a','a','b','b','a'],'key2':['one','two','one','two','one'],
                 'data1':np.random.randn(5),'data2':np.random.randn(5)})

#按key1进行分组,并计算data1列的平均值。
grouped1=df['data1'].groupby(df['key1']).mean()
print grouped1
#结果:key1
#a    1.386036
#b   -1.026542

#按key1,key2进行分组,并计算data1列的平均值。
grouped2=df['data1'].groupby([df['key1'],df['key2']]).mean()
print grouped2
#结果:
#key1  key2
#a     one     1.927353
#      two     0.303403
#b     one    -1.629209
#      two    -0.423874

#按key1进行分组,计算data1,data2的平均值
print df.groupby('key1').mean()
#结果: data1     data2
#key1                    
#a     1.386036 -0.617593
#b    -1.026542  0.150912

#按key1,key2进行分组,计算data1,data2的平均值
print df.groupby(['key1','key2']).mean()
#结果:
#              data1     data2
#key1 key2                    
#a    one   1.927353 -1.127173
#     two   0.303403  0.401567
#b    one  -1.629209 -0.027238
#     two  -0.423874  0.329062

#求groupby的size
print df.groupby('key1').size()
#结果:
#key1
#a    3
#b    2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值