python的groupby中函数详解_python中groupby()函数讲解

# -*- coding: utf-8 -*-

import pandas as pd

import numpy as np

df = pd.DataFrame({'key1':list('aabba'),

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

'data1': ['1','3','5','7','9'],

'data2': ['2','4','6','8','10']})

print df

grouped = df.groupby(['key1']).size() #按key1的值分组,并统计个数

print grouped

print '++++++++++++++'

grouped1 = df['data1'].astype(float).groupby(df['key1']).mean() #先将data1转换成浮点型,然后分组求均值

print grouped1

print type(grouped1) #series类型

print '++++++++++++++++++'

df['add'] = ['AA','BB',"CC",'DD','EE'] #dataframe追加一列

print df

grouped2=df.groupby(['key1','key2']).size() #按两列属性分组

#注意若groupby前面用df的形式则后面参数直接用['key1']的形式

print grouped2

print type(grouped2)

print '++++++++++++++++++'

grouped3=df['data1'].astype(float).groupby([df['key1'],df['add']]).mean() #按key1与key2分组,求data1这一列均值

#注意若groupby前面用df['data1']的形式则后面参数必须用df['key1']的形式

print grouped3

print type(grouped3) #series

运行结果如下:data1 data2 key1 key2

0     1     2    a  one

1     3     4    a  two

2     5     6    b  one

3     7     8    b  two

4     9    10    a  one

key1

a    3

b    2

dtype: int64

++++++++++++++

key1

a    4.333333

b    6.000000

Name: data1, dtype: float64

++++++++++++++++++

data1 data2 key1 key2 add

0     1     2    a  one  AA

1     3     4    a  two  BB

2     5     6    b  one  CC

3     7     8    b  two  DD

4     9    10    a  one  EE

key1  key2

a     one     2

two     1

b     one     1

two     1

dtype: int64

++++++++++++++++++

key1  add

a     AA     1.0

BB     3.0

EE     9.0

b     CC     5.0

DD     7.0

Name: data1, dtype: float64

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值