通过groupby()数据拆分成组
groupby (by=None, axis=0, level=None, as index=True, sort=True, group_keys=True, squeeze=False, observed=Falser**kwargs)
- by:用于确定进行分组的依据。
- axis:表示分组轴的方向。
- sort:表示是否对分组标签进行排序,默认为True.
数据聚合
1.使用内置统计方法聚合数据
df.groupby('key').mean()按key列分组,求每个分组平均值
2.面向列的聚合方法
agg()或aggregate():
如果内置方法无法满足聚合要求时,则可以自定义函数,将它作为数传给agg()方法,实现Pandas对象的聚合运算。
agg(fune, axis =0,* args, ** kwargs)
- fune:表示用于汇总数据的函数,可以为单个函数或函数列表。
- axis:表示函数作用于轴的方向,0或index表示将函数应用到每一列;1或columns表示将函数应用到每一行,该参数的默认值为0。
transform():
transform(func, *args,**kwargs)
- transfrom()方法会把fanc函数应用到各个分组中,并且将计算结果放在适当的位置上。
- transform()方法返回的结果有两种,一种是可以广播的标量值(np.mean),另一种可以是与分组大小相同的结果数组。
apply():较为灵活
apply(func,axis=0, broadcast=None, raw=False,reduce=None.resulttype=None,args=(),**kwds)
- func:应用于行或者列的函数
- axis:函数操作的轴向
- broadcast:是否广播数据