大熊猫数据分组和聚合操作方法

  

  

  

分组运算:split-apply-combine(拆分——应用,合并)

  

DataFrame可以在其行(轴=0)或列(轴=1)上进行分组。然后,将一个函数应用到各个分组并产生新值。最后,所有这些函数的执行结果会被合并到最终的结果对象中去。

  

GroupBy大小的方法可以返回一个含有分组大小的系列。

  

<强>对分组进行迭代

        (k1, k2),集团在df.groupby ([' key1 ', ' key2 ']):   打印k1, k2   印刷组      

<强>选取一个或一组列

        df.groupby ([' key1 ', ' key2 ']) [[' data2 ']] .mean ()      

通过字典或系列进行分组

  

只需将字典或系列传给groupby即可。

  

<强>通过函数分组

  

people.groupby (len) .sum() #根据人名的长度进行分组

  

<强>通过索引级别分组

  

层次化索引数据,根据索引级别进行聚合,通过水平关键字传入级别编号或名称。

        df.groupby(水平=蕖?轴=1).count ()      

  

经过优化的groupby方法

  

           函数名   说明               数   分组中非NA值得数量         总和   非NA值的和         的意思是   非NA值的平均值         中位数   非NA值的算术平均数         性病,var   无偏(分母为n - 1)标准差和方差         最小、最大   非NA值的最小值和最大值         刺激   非NA值的积         第一,最后   第一个和最后一个非NA值            

  

对于上述描述统计方法,可以将函数名以字符串的形式传入gg方法,例如:分组。gg([“的意思是”,“性病”])

  

<>强如果要使用自己的聚合函数,只需将其传入聚合或gg方法即可

        def peak_to_peak (arr):   返回arr.max ()——arr.min ()   grouped.agg (peak_to_peak)   之前      

<>强面向列的多函数应用,可以对不同的列使用不同的聚合函数或者一次应用多个函数。

  

如果传入一组函数或函数名,得到的DataFrame的列就会以相应的函数命名

  

如果传入的是一个由(名称、函数)元组组成的列表,各个元组的第一个元素就会被用作DataFrame的列名。

  

不同的列使用不同的聚合函数也可以向gg传入一个从列名映射到函数的字典

        分组。gg([“的意思是”,“性病”,peak_to_peak]) # 1   分组。gg ([(“foo”、“意思”)(“酒吧”,np.std)]) # 2   函数=[‘数’,‘意思’,‘麦克斯’)   结果=分组(“提示”、“法案”).agg(功能)# 3   分组。gg({“提示”:np。马克斯,“比尔”:'和'})# 4   之前      

  

  

变换会将一个函数应用到各个分组,然后将结果放置到适当的位置上。如果各个分组产生的是一个标量的值,则该值就会被广播出去。

  

  

一般性的“拆分——应用,合并”

  

tips.groupby(“烟民”)苹果(上)相当于前函数在DataFrame的各个片段上调用,然后结果由pandas.concat组装到一起,并以分组名称进行了标记,于是,最终结果就有了一个层次化索引,其内层索引值来自于原DataFrame。

  

禁止分组键:分组键会跟原始对象的索引共同构成结果对象中的层次化索引。将group_keys=False传入groupby即可禁止该效果.tips。groupby(“烟民”,group_keys=False)苹果(上)

  

在GroupBy对象上调用描述相当于f=λx: x.describe ();grouped.apply (f) .

  

  

  

根据一个或多个键对数据进行聚合,并根据行和列上的分组键将数据分配到各个矩形区域。

        小费。pivot_table (tip_pct,指数=(“时间”、“大小”、“烟民”),   列='天',aggfunc=暗囊馑际恰?fill_value=https://www.yisu.com/zixun/0)      

           参数名   说明               值   待聚合的列的名称。默认所有列         行   用于分组的列名或者其他分组键,出现在结果透视表的行         关口   用于分组的列名或者其他分组键,出现在结果透视表的列         aggfunc   聚合函数或函数列表,默认“的意思是”。可以是任何对groupby有效的函数         fill_value   用于替换结果表中缺失值         利润率   添加行/列小计和总计,默认为假            

大熊猫数据分组和聚合操作方法