Pandas 数据的聚合分组

    在EXCEL中,数据透视表是一个很神奇的工具,非常实用,方便。 当我第一次用时,it's amazing!

 

 

同样的,在Pandas模块中,也存在着类似数据透视表的功能:将数据分组聚合。 

 

    -----DataFrame.groupby([key1,key2],as_index=False)    

 

 

 

    上面的代码中,分组键key1,key2可以是任何长度适当的Series同样还可以是相对应DataFrame的列名,还可以是字典,:{a:1,b:2,c:1,d:2,f:1},就会按照1,2进行分组。 as_index--依照分组的键不构成新的索引,新索引自然排序。

 

 

 

 

 

    groupby对象支持迭代,也可以做成字典

 

 

 

 

    当你只想显示某一组数据是,可以使用  df.groupby(key)[data1]  或者  df[data1].groupby(df[key1])。

 

 

 

    还可以根据函数进行分组,df.groupby(func),函数func会在各个索引上调用一次

 

 

    根据索引进行分组,df.groupby(level='key',axis=0|1)

 

 

    grouped.transform(func)--将一个函数应用到各个分组,然后将结果放置在适当位置。

 

 

 

 

 

 函数的聚合: grouped.agg([func1,func2,func3])

 

 

 

 

拆分-合并-应用: grouped.apply(func)。   正是先用groupby拆分,再用apply进行各部分应用,最后再用func作用于各个部分进行合并。

 

 

 

pd.cut(data,num)---分位数,将一组数据按照数值区间大小相等的原则,等分成num份。然后作为分组键对其他DATAFRAME进行分组。

 

pd.qcut(data,num)---桶分析,按照数据点数量相等原则,等分成num份。

 

 

 

df.pivot_table(['data1','data2'],index=['key1'],columns=['key2'],aggfunc=func,fill_value=0)

 

aggfunc参数,填入各个部分的聚合函数,fill_value参数,用于替换结果表中的缺失值。

 

 

 

    

 

    

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值