#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())

本文介绍如何使用Python的Pandas库进行数据分组及统计分析。通过实例演示了groupby()函数的基本用法,包括单列分组、多列分组及自定义分组方式,并展示了如何获取各分组的数据。
2675

被折叠的 条评论
为什么被折叠?



