python教程分享python pandas中的agg函数用法

pandas中的agg函数

python中的agg函数通常用于调用groupby()函数之后,对数据做一些聚合操作,包括sum,min,max以及其他一些聚合函数

如下所示:

>>> df = pd.read_excel(r"d:/myexcel/1.xlsx")  >>> df          a   b   c  0     bob  12  45  1  millor  15  23  2     bob  34  88  3     bob  98  23

(1)获取按a分组后b列的最大值

>>> df.groupby(by='a').agg({'b':'max'})           b  a           bob     98  millor  15

(2)获取按a分组后b列的最大值和最小值

>>> df.groupby(by='a').agg({'b':['max','min']})           b             max min  a               bob     98  12  millor  15  15

(3)获取按a分组后b列的最大值和最小值以及c列的最大值

>>> df.groupby(by='a').agg({'b':['max','min'], 'c':'min'})           b       c         max min min  a                   bob     98  12  23  millor  15  15  23

(4)默认是以函数名称命名的,可以修改

>>> df.groupby(by='a').agg(  b_min=pd.namedagg(column='b', aggfunc='min'),  b_max=pd.namedagg(column='b', aggfunc='max'))          b_min  b_max  a                     bob        12     98  millor     15     15

通常在调用完agg函数后需要reset_index,因为pandas会默认将groupby()的列也做为index传到结果中

>>> df.groupby('a').b.agg(['min', 'max'])          min  max  a                 bob      12   98  millor   15   15  >>> df.groupby('a').b.agg(['min', 'max']).reset_index()          a  min  max  0     bob   12   98  1  millor   15   15

这就是python小工具关于agg函数的介绍,挺有用 的一个函数。 

pandas详解 聚合运算agg()

在数据分析中,分组聚合二者缺一不可。对数据聚合(求和、平均值等)通常是不可避免的。pd.agg()很方便进行聚合操作。

1. 创建dataframe对象

import pandas as pd  df1 = pd.dataframe({'sex':list('ffmfmmf'),'smoker':list('ynyynyy'),'age':[21,30,17,37,40,18,26],'weight':[120,100,132,140,94,89,123]})  

python pandas中的agg函数用法

grouped = df1.groupby(['sex','smoker'])  # sex有 f m 二值,smoker有 y n 二值,故分成四组。  

2. 单列聚合

grouped['age'].agg('mean')  
sex  smoker  f    n         30.0       y         28.0  m    n         40.0       y         17.5  name: age, dtype: float64  

3. 多列聚合

grouped.agg('mean')  

python pandas中的agg函数用法

4. 多种聚合运算

grouped['age'].agg(['min','max'])  

python pandas中的agg函数用法

5. 多种聚合运算并更改列名

grouped['age'].agg([('a','mean'),('b','max')])  

python pandas中的agg函数用法

6. 不同的列运用不同的聚合函数

grouped.agg({'age':['sum','mean'], 'weight':['min','max']})  

python pandas中的agg函数用法

7. 使用自定义的聚合函数

def max_cut_min(group):      return group.max()-group.min()    grouped.agg(max_cut_min)  

python pandas中的agg函数用法

8. 方便的descibe

grouped.describe()  

python pandas中的agg函数用法

以上为个人经验,希望能给大家一个参考,也希望大家多多支持<猴子技术宅>。

需要了解更多python教程分享python pandas中的agg函数用法,都可以关注python教程分享栏目—猴子技术宅(www.ssfiction.com)

本文来自网络收集,不代表猴子技术宅立场,如涉及侵权请点击右边联系管理员删除。

如若转载,请注明出处:https://www.ssfiction.com/pythons/1091923.html

(0)
上一篇 18小时前
下一篇 18小时前

精彩推荐

发表评论

您的电子邮箱地址不会被公开。