统计分析数据的时候,经常需要进行分组统计。分组操作在python里的实现方式就是groupby语句。
惯例,咱们先造一个DataFrame表。
import pandas as pd
dic={
'class':['a','a','b','b'],
'id':[1,2,3,3],
'math':[88,66,55,22],
'physics':[99,77,33,67],
'science':[55,88,65,89]
}
df1=pd.DataFrame(data=dic,index=['student1','student2','student3','student4'])
1、单列分组
groupby语句可以单独形成一个分组对象。比如我们将数据表按照班级(class)进行分组,
后续想要进行任何的分组统计都可以使用这个分组对象。
Class_group=df1.groupby('class')
Class_group.mean()
结果为:
id math physics science
class
a 1.5 77.0 88.0 71.5
b 3.0 38.5 50.0 77.0
出现这个结果是因为我们在分组统计的时候没有指定列,所以python会将所有数值的列统计出平均值展示出来。当我们指定需要统计的列名之后,就会只展示我们需要的列。
Cla