您的位置:首页 > 其它

pandas教程:[8]数据分组

2018-08-14 16:18 127 查看
[code]#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)

   

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

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

[code]#我们还可以根据列来分组,先创建一个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())

 

 

 

 

 

 

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: