⼀、分组1.groupby
obj.groupby(by=None, axis=0, level=None, as_index=True, sort=True, group_keys=True, squeeze=False, **kwargs)# 返回⼀个pandas分组可迭代对象,包含(name,group)两个要素,可以是否for循环迭代输出by:fuction:计算obj的index进⾏分组; str|strs:使⽤obj的columns进⾏分组
dict|Series:key和索引相匹配,使⽤vlues进⾏分组axis:0|1代表按照⾏还是列进⾏分组
level:levelnum|levelname,适⽤于多级索引情况下,按照指定的索引进⾏分组
as_index:True使⽤分组标签作为索引,不作为索引,⽽是作为⼀列,类似于excel数据透视表中的填充⾏。sort:保留原来⾏的顺序
group_keys:True当调⽤apply时保留分组名称,False不保留分组的名称
# grouped数据可以使⽤列名【‘列名’】来去除该列数据然后再对该列进⾏聚类分析计算⼆、聚类
grouped.quantile(0.9):寻找九分位grouped.count():统计分组的个数grouped.sum():对分组数据进⾏求和grouped.mean():对分组数据进⾏平均值grouped.describe():对分组数据进⾏简单统计描述
grouped.agg(functon):对分组数据按照function进⾏聚类,function可以是⼀个列表,代表使⽤多种⽅法进⾏聚类分析计算,列名为function名称; 如果想⽤其他 名称替换function的名称做为列名,可以使⽤列表+元组,(altername,functionname);⽰例:grouped['tip_pct','total_bill'].agg([('Durchschnitt', 'mean'), ('Abweichung', np.var)])
如果想对不同的列使⽤不同的⽅法,可以使⽤字典的形式,{列名:【func1,func2】}⽰例:grouped.agg({'tip_pct' : ['min', 'max',
'mean', 'std'],'size' : 'sum'})
grouped.apply(function,args):适⽤于有参数的function,可以将function的参数作为apply的参数传⼊,或者使⽤lambda函数。agg应⽤于⽆参数函数如min,max,count,np.var等聚合函数agg和apply的区别:agg聚合只不过是分组运算的其中⼀种⽽已。它是数据转换的⼀个特例,也就是说,它接受能够将⼀维数组简化为标量值的函数。apply更普遍如排序,分组,计算,聚合。
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- shangjiatang.cn 版权所有 湘ICP备2022005869号-4
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务