pandas教程:[8]数据分组

#coding:utf-8
'''
使用groupby()可以给数据分组,数据分组的好处是你可以一次性计算得到所有分组中的统计量,比如想计算男女学生的平均成绩分别是多少,
可以先按照男女分组,然后计算平均数,我们不用计算完女生然后在计算男生,实际上是一次性完成的,这就是分组的好处。
'''
import pandas as pd
import numpy as np

df=pd.DataFrame({
    'A':['foo','bar','foo','bar','foo','bar','foo','foo'],
    'B':['one','one','two','three','two','two','one','three'],
    'C':np.random.randn(8),#随机生成8位数
    'D':np.random.randn(8)
    })
print(df)

   

#可以以A列进行分组,使用groupby
grouped=df.groupby('A')
print (grouped.first())
#打印出来的grouped.first()为每一组的第一行数据

#我们还可以以两列以上进行分组,groupby参数为一个列表
grouped=df.groupby(['A','B'])
print (grouped.last())

#我们还可以根据列来分组,先创建一个get_type函数,如果列名为abem中之一,就分为组别vowel,反之为consonant
def get_type(letter):
    if letter.lower() in 'abem':
        return 'vowel'
    else:
        return 'consonant'
grouped = df.groupby(get_type,axis=1)
print(grouped.first())

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值