Pandas agg()函数介绍及命名聚合

别再只用mean和sum了!Pandas agg()函数保姆级教程,解锁5种高阶数据聚合姿势 本文深入解析Pandas中agg()函数的高阶用法,超越基础的mean和sum操作。通过5种实用场景展示如何对不同列应用不同聚合函数、使用自定义函数和lambda表达式、同时应用多个聚合函数、结合groupby实现分组聚合,以及命名聚合技巧,帮助数据分析师提升代码效率和可读性。 阅读详情

简介

  • agg() 函数是 Pandas 库中的一个非常强大的函数,用于执行聚合操作。在 Pandas 中,聚合通常指的是对一组值执行某种计算以返回一个单一的值,例如求和、平均值、最大值、最小值等。
  • agg() 函数可以应用于 Pandas 的 Series、DataFrame 或 GroupBy 对象。它允许你灵活地应用一个或多个聚合函数到数据上。

基本用法

  • 应用于Series 
    • import pandas as pd
      
      s = pd.Series([1, 2, 3, 4, 5])
      print(s.agg('sum'))
      # 输出 15
  • 应用于DataFrame
    • import pandas as pd
      
      df = pd.DataFrame({
          'A': [1, 2, 3],
          'B': [4, 5, 6]})
      
      print(df.agg('sum'))  # 对每列求和
      
      '''输出
      A     6
      B    15
      dtype: int64
      '''
  • 使用多个聚合函数
    • 你可以将多个聚合函数放入一个list里传递给 agg() 以在一个操作中获取多个结果。        
    • import pandas as pd
      
      df = pd.DataFrame({
          'A': [1, 2, 3],
          'B': [4, 5, 6]})
      agg_df = df.agg(['sum', 'mean'])
      print(agg_df)
      '''输出
              A     B
      sum   6.0  15.0
      mean  2.0   5.0
      '''
  • 使用自定义函数
    • 你也可以传递自定义的函数给 agg() 来执行聚合操作。
    • 传递给自定义函数custom_agg的参数是pd.Series A列或pd.DataFrame df。
    • 以pd.Series方式df['A']传入A列时返回numpy.float64,以pd.DataFrame方式df[['A']]传入A列时返回Series,如果多个聚合函数返回DataFrame
    • import pandas as pd
      
      def custom_agg(s):
          return s.sum() * s.mean()
      
      df = pd.DataFrame({
          'A': [1, 2, 3],
          'B': [4, 5, 6]})
      print(df.agg(custom_agg))
      print(type(df.agg(custom_agg)))  #<class 'pandas.core.series.Series'>
      '''输出
      A    12.0
      B    75.0
      dtype: float64
      <class 'pandas.core.series.Series'>
      '''
      
      print(df['A'].agg(custom_agg))
      print(type(df['A'].agg(custom_agg)))  #<class 'numpy.float64'>
      '''输出
      12.0
      <class 'numpy.float64'>
      '''
      
      print(df[['A']].agg(custom_agg))
      print(type(df[['A']].agg(custom_agg)))  #<class 'pandas.core.series.Series'>
      '''输出
      A    12.0
      dtype: float64
      <class 'pandas.core.series.Series'>
      '''
      
  • 在Groupby中使用
    • agg() 在 GroupBy 对象中特别有用,允许你对每个组执行聚合操作。
    • import pandas as pd
      
      
      df = pd.DataFrame({
          'A': [1, 2, 3],
          'B': [4, 5, 6]})
      df['Group'] = ['T1', 'T2', 'T1']
      print(df)
      '''output
         A  B Group
      0  1  4    T1
      1  2  5    T2
      2  3  6    T1
      '''
      
      add_df = df.groupby(['Group']).agg(['sum', 'mean'])
      print(add_df)
      '''output
              A        B     
            sum mean sum mean
      Group                  
      T1      4  2.0  10  5.0
      T2      2  2.0   5  5.0
      '''
  • 对不同的列使用不同的agg函数 
  • import pandas as pd
    
    
    df = pd.DataFrame({
        'A': [1, 2, 3],
        'B': [4, 5, 6]})
    df['Group'] = ['T1', 'T2', 'T1']
    print(df)
    '''output
       A  B Group
    0  1  4    T1
    1  2  5    T2
    2  3  6    T1
    '''
    ser1 = df.agg({'A': 'sum', 'B': 'mean'})
    print(ser1)
    print(type(ser1))
    '''output
    A    6.0
    B    5.0
    dtype: float64
    <class 'pandas.core.series.Series'>
    '''

命名聚合 

  • 命名聚合(Named Aggregation)是 Pandas 库中一种特殊的聚合方式,主要用于在 GroupBy 操作中更清晰、明确地指定聚合操作的输出列名以及对应的聚合函数。  
  • 命名聚合通过关键字参数的方式指定输出的列名和对应的聚合函数。具体来说,关键字参数的名字将成为输出 DataFrame 的列名,而对应的值则是要应用的聚合函数。
  • 命名聚合还支持 lambda 函数作为聚合函数,可以方便地进行一些自定义的计算。
  • 命名聚合绝大多数用于 GroupBy 操作 ,很少用于普通的 Series 或 DataFrame 对象。这里也给出用例。
  • 用于普通DataFrame,SUM_A 和MEAN_B输出 DataFrame 的行index
    • import pandas as pd
      
      df = pd.DataFrame({
          'A': [1, 2, 3],
          'B': [4, 5, 6]})
      df['Group'] = ['T1', 'T2', 'T1']
      print(df)
      '''output
         A  B Group
      0  1  4    T1
      1  2  5    T2
      2  3  6    T1
      '''
      
      df2 = df.agg(SUM_A=('A', 'sum'), MEAN_B=('B', 'mean'))
      print(df2)
      print(type(df2))
      '''output
                A    B
      SUM_A   6.0  NaN
      MEAN_B  NaN  5.0
      <class 'pandas.core.frame.DataFrame'>
      '''
      
  • 用于Groupby, SUM_A 和MEAN_B输出 DataFrame 的列名
  • import pandas as pd
    
    df = pd.DataFrame({
        'A': [1, 2, 3],
        'B': [4, 5, 6]})
    df['Group'] = ['T1', 'T2', 'T1']
    print(df)
    '''output
       A  B Group
    0  1  4    T1
    1  2  5    T2
    2  3  6    T1
    '''
    
    df2 = df.agg(SUM_A=('A', 'sum'), MEAN_B=('B', 'mean'))
    print(df2)
    print(type(df2))
    '''output
              A    B
    SUM_A   6.0  NaN
    MEAN_B  NaN  5.0
    <class 'pandas.core.frame.DataFrame'>
    '''
    
    df3 = df.groupby(['Group']).agg(SUM_A=('A', 'sum'), MEAN_B=('B', 'mean'))
    print(df3)
    print(type(df3))
    '''output
           SUM_A  MEAN_B
    Group               
    T1         4     5.0
    T2         2     5.0
    <class 'pandas.core.frame.DataFrame'>
    '''

Pandas知识点-详解聚合函数agg pandas系列:聚合函数agg() 阅读详情

相关推荐

一文读懂pg AGG聚集算子计划与执行(更新中)

一文读懂openGauss/pg AGG聚集算子计划与执行Agg聚集算子与聚集操作(函数)基本概念执行策略聚集操作基本执行步骤与元数据计划生成与数据结构确定操作策略关键数据结构思考数据结构基本执行流程PLAIN-AGG并行执行流程grouping set\cube的执行策略代码走读如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart

Carrot_L的博客 3466

Python Pandas中的数据聚合神器:agg 方法

在数据分析和处理中,数据聚合是将多个数据合并、计算或摘要为单个结果的过程。这个结果通常包括统计信息,如平均值、总和、最大值、最小值等,以便更好地理解和分析数据。Pandas 提供了多种数据聚合方法,其中之一就是agg方法。除了内置的聚合函数,还可以使用自定义函数来进行数据聚合。这将输出2,即薪水高于 70000 的人数。可以编写自定义的聚合函数,然后将其应用到分组数据上。DepartmentHR 57500.0Pandas 中的agg方法是一个强大的工具,用于执行各种数据聚合操作。

涛哥聊Python 7926

Pandas详解二十五之聚合运算agg

约定: import pandas as pd 聚合运算 在数据分析中,对数据聚合(求和、平均值等)通常是不可避免的。在将数据分组(groupby)后,新手若不知函数 agg() 的情况下,很有可能写出二三十行的for循环只为求每个分组的平均值。在这里,介绍个强大的函数:agg() ,能让你的代码缩减到一行。 创建对象和分组 df1=pd.DataFrame...

yungeisme的博客 1万+

pandas学习笔记—agg()函数详解

目录1、agg()函数定义2、举例2.1 简单的列或行统计2.2 自定义统计函数2.3 先groupby()再agg() 1、agg()函数定义 agg()函数是聚合函数, DataFrame.agg(func,axis = 0,* args,** kwargs ) @@@func : 实现某种统计功能的函数,如果要不同列用求不同统计量,则用字典{‘行名/列名’,‘函数名’}指定。 2、举例 2.1 简单的列或行统计 import pandas as pd import numpy as np df1=pd

sunmingyang1987的博客 4万+

python中使用agg方法聚合数据

使用agg方法聚合数据 agg,aggregate方法都支持对每个分组应用某函数,包括Python内置函数或自定义函数。同时这两个方法能够也能够直接对DataFrame进行函数应用操作。 在正常使用过程中,agg函数和aggregate函数对DataFrame对象操作时功能几乎完全相同,因此只需要掌握其中一个函数即可。它们的参数说明如下表。 **DataFrame.agg(func, axis=0, *args, **kwargs) DataFrame.aggregate(func, axis=0, *ar

微信公众号(年更选手):数据闲逛人 | Github开源项目:数分/数挖study路线 https://github.com/jc-dian/python_data_analysis 2万+

Pandas中agg聚合函数的使用方法及示例

agg函数可以方便地对数据进行聚合操作并返回结果,提供了丰富的聚合选项,包括常见的统计量和自定义函数。Pandas库提供了agg(aggregate)函数,它可以方便地进行多个聚合操作并返回结果。Pandas中的agg函数可以对一个或多个列进行聚合操作,并返回结果。在示例中,我们通过将多个统计量以列表形式传递给agg函数,同时计算了’Age’列和’Salary’列的均值、中位数和标准差。在示例中,我们通过将多个聚合操作以列表形式传递给agg函数,计算了薪资列的最大值和平均值。二、agg函数的高级用法。

code_program481的博客 527

Groupby_SQL和pandas等效例子

在SQL中使用PARTITION BY与在Pandas中使用groupby().agg()有一定的相似性,因为它们都是用于分组数据并对每组应用某种聚合函数。

2401_83026894的博客 880

【保姆级教程】不到一元32位芯片 DIY迷你时钟

基于不到一元的CH32V003F4P9芯片制作的迷你多功能时钟。

twen51的博客 1817

【Python】Pandas `agg()`聚合函数回顾

系统梳理了一下agg()函数的使用,同时和apply(),transform()做个简单对比。

diegoXie的博客 1323

36、真核生物RNA PolII启动子预测相关研究

本文综述了真核生物RNA聚合酶II启动子预测的研究进展,涵盖转录调控机制、核心启动子元件(如TATA框、INR、GC框)、转录因子结合位点预测的挑战与方法。介绍了基于权重矩阵、神经网络和隐马尔可夫模型等多种启动子预测算法,并探讨了启动子分类策略及评分加权方法。通过Hertz-Stormo-Hartzell流程和基因微阵列分析实例,展示了如何识别保守调控序列。文章还总结了当前预测技术的局限性,提出了整合多组学数据、开发深度学习模型、加强实验验证等未来研究方向,旨在提升启动子识别的准确性与生物学意义。

palm99的专栏 187

Python全栈项目--手机语音远程控制智能家居系统(含嵌入式控制)

摘要:本项目实现了一个基于Python全栈的智能家居语音控制系统,支持手机端语音指令控制家居设备。系统采用FastAPI后端+Vue3前端的架构,集成Web Speech API实现语音识别,通过嵌入式设备(如ESP32)执行硬件控制。功能包括用户认证、设备管理、场景联动、指令解析和日志记录,支持HTTP轮询和直推两种命令下发模式。项目涵盖物联网全链路开发,适用于课程设计或毕业设计原型开发。

exlink2012的专栏 881

groupby().agg()易错点

对比「通过agg聚合后给 DataFrame 赋值新列」和「agg中直接指定新列名」两种方式的差异。下面先修正语法错误,再详细分析两种写法的和。

ranchor666的博客 381

2023年12月机器人技术等级考试试卷(三级理论) 试题解析

2023年12月机器人技术等级考试试卷(三级理论) 试题解析

http://www.cierobot.com 4095

pandas-组操作-拆分-应用-组合(groupby)(二)

1. 使用agg实现一次应用多个函数

qq_14815199的博客 308

风控域——知识图谱相关原理

本文全面介绍了知识图谱在风控领域的应用原理。从基础知识入手,阐述了知识图谱的定义、概念及应用场景,重点聚焦于金融风控。进一步讲解了知识图谱的技术架构,涵盖计算、融合与构建等方面。深入探讨了知识表示、建模、抽取、挖掘、存储、融合、检索和推理等关键技术原理,并结合金融风控实际需求,详细说明了各技术环节的具体应用方法与流程,为构建高效风控知识图谱提供了理论与实践指导。

庄小焱 608

农业生产AI决策系统架构设计解密:数据层-模型层-应用层核心逻辑

想象一下,在一个炎热的夏日,传统农田里的农民伯伯正满头大汗地检查每一株玉米是否缺水;而几公里外的智慧农场里,一位年轻农民正在空调房里滑动手机屏幕,看着AI系统自动生成的灌溉计划——这就是农业生产AI决策系统带来的改变。本文的目的,就是要揭开这个"智能农业大脑"的面纱,详细讲解它的"身体构造"(架构设计)和"工作原理"(核心逻辑)。我们将聚焦系统最核心的三个部分:数据层(收集农田信息)、模型层(分析信息并思考决策)和应用层(将决策告诉农民)。

AI智能探索者的博客 1327

别再只用mean和sum了!Pandas agg()函数这5种高阶用法,让数据分析效率翻倍

本文深入探讨Pandas agg()函数的5种高阶用法,帮助数据分析师提升效率。从多维度统计到缺失值处理,这些技巧能减少代码量、缩短报表生成时间,适用于复杂商业场景。特别推荐使用lambda表达式和命名聚合,让分析更灵活、结果更专业。

weixin_30824599的博客 309

PCL 基于视椎体裁剪点云

PCL 基于视椎体裁剪点云

dayuhaitang1的博客 4083

【第7章Pandas实战案例与解析 分组聚合】7.442 精通Pandas:使用agg()自定义分组之后的新列名

在使用agg()进行分组聚合后,可以通过传递字典的方式来为新生成的列指定名称。字典的键是新的列名,值是对应的聚合函数。通过传递字典来自定义新生成的列名。# 自定义新列名处理多级索引的情况。# 设置多级索引# 按多级索引分组并自定义新列名通过本文的学习,我们掌握了如何在Pandas中使用agg()函数进行分组聚合操作,并自定义新生成的列名。这对于数据分析非常有用,可以帮助我们更好地理解和处理数据。

1089

【深度学习】脸部修复,CodeFormer,论文,实战

Blind face restoration是一个高度 ill-posed 的问题,通常需要辅助引导来 1) 改善从降级输入到期望输出的映射,或者 2) 补充在输入中丢失的高质量细节。在本文中,我们展示了在一个小的代理空间中学到的离散码本先验可以通过将盲目的面部恢复建模为 a code prediction task来大大减少恢复映射的不确定性和模糊性,同时为生成高质量面部提供丰富的视觉元素。

q742971636的博客 2994

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

【Pandas分组聚合】 groupby()、agg() 方法的使用

Pandas分组聚合

weixin_45760274的博客 5万+

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

python 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 ...

weixin_45144170的博客 2万+

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

pandas 聚合函数agg

今天看到pandas的聚合函数agg,比较陌生,平时的工作中处理数据的时候使用的也比较少,为了加深印象,总结一下使用的方法,其实还是挺好用的。 DataFrame.agg(func,axis = 0,* args,** kwargs) func : 函数,函数名称,函数列表,字典{‘行名/列名’,‘函数名’} 使用指定轴上的一个或多个操作进行聚合。 agg是一个聚合函数,聚合函数操作始终是在轴(默认是列轴,也可设置行轴)上执行,不同于numpy聚合函数(np.sum() //求和;np.pr..

学习python 2万+

agg() 函数,聚合函数

然后,我们使用 .groupby() 函数将数据框按照 购买月 列进行分组,并使用 .agg() 函数将同一个月购买的设备的设备名称合并到一个单元格中。然后,我们使用 .groupby() 函数将数据框按照 购买月 列进行分组,并使用 .agg() 函数将同一个月购买的设备的设备名称和设备编码合并到一个单元格中。使用 Pandas 的 .groupby() 和 .agg() 函数将同一个月购买的设备的设备名称汇总到一个单元格中,并使用 .size() 函数统计每个月购买设备的台数。

Fo*(Bi)的博客 1974

详解Pandas聚合函数agg

func: 用于聚合数据的函数,如max()、mean()、count()等,函数必须满足传入一个DataFrame能正常使用,或传递到DataFrame.apply()中能正常使用。本文介绍的聚合函数为DataFrame.aggregate(),别名DataFrame.agg(),aggregate()和agg()是同一个函数,仅名字不同。在agg()中,可以用列表的方式传入多个函数,会将这些函数在每一列的执行结果聚合到一个DataFrame中,结果DataFrame中的索引为对应的函数名。

金戈鐡馬 4206
上一篇: Python PyQt 程序设置图标
下一篇: Pandas merge()函数介绍
ciky2011
博客等级 码龄15年 70粉丝 122原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值