首页 > 其他分享 >Pandas|groupby()

Pandas|groupby()

时间:2024-04-05 17:34:34浏览次数:18  
标签:语文 90.0 班级 groupby 98 max Pandas

groupby是Pandas用于根据给定列中的不同值对数据点(即行)进行分组,分组后的数据可以计算生成组的聚合值。

  1. agg 聚合操作

聚合操作是groupby后非常常见的操作,聚合操作可以用来求和、均值、最大值、最小值等.

函数 用途 函数 用途
min 最小值 max 最大值
sum 求和 mean 平均值
median 中位数 std 标准差
var 方差 count 计数

示例:

班级 学生 语文 数学 英语
一班 学生1 90 99 96
二班 学生2 98 90 92
三班 学生3 91 97 95
一班 学生4 92 91 93
二班 学生5 95 98 98
三班 学生6 89 96 99
一班 学生7 88 99 100

1、单列聚合

计算每个班的语文平均成绩:

df.groupby('班级')['语文'].mean()

班级
一班    90.0
三班    90.0
二班    96.5
Name: 语文, dtype: float64

2、多列聚合

在一个操作中进行多个聚合。以下是计算每个班语文和数学的平均成绩。

df.groupby('班级')['语文','数学'].mean()

      语文         数学
班级                 
一班  90.0  96.333333
三班  90.0  96.500000
二班  96.5  94.000000

3、多列多个聚合

利用agg函数来计算多个聚合值。

df.groupby('班级')['语文'].agg(["mean", "max"])

    mean  max
班级           
一班  90.0   92
三班  90.0   91
二班  96.5   98

4、对聚合结果进行命名

df.groupby('班级').agg(语文平均成绩=("语文","mean"),语文最高分=("语文","max"))    
    
        语文平均成绩  语文最高分
班级               
一班    90.0     92
三班    90.0     91
二班    96.5     98

5、多个聚合和多个函数

df.groupby('班级')[['数学','语文']].agg(['sum','max'])

     数学       语文    
    sum max  sum max
班级                  
一班  289  99  270  92
三班  193  97  180  91
二班  188  98  193  98

6、对不同列的聚合进行命名

df.groupby('班级').agg(数学最高分=("数学","max"),语文平均成绩=("语文","mean"),英语最高分=("英语","max"))

	    数学最高分  语文平均成绩  英语最高分
班级                      
一班     99    90.0    100
三班     97    90.0     99
二班     98    96.5     98

7、as_index参数

如果groupby操作的输出是DataFrame,可以使用as_index参数使它们成为DataFrame中的一列。

df.groupby('班级',as_index=False).agg(数学最高分=("数学","max"),语文平均成绩=("语文","mean"),英语最高分=("英语","max"))
   班级  数学最高分  语文平均成绩  英语最高分
0  一班     99    90.0    100
1  三班     97    90.0     99
2  二班     98    96.5     98

标签:语文,90.0,班级,groupby,98,max,Pandas
From: https://www.cnblogs.com/conpi/p/18115965

相关文章

  • pandas库运行时报错问题
    今天在学pandas库,发现我运行时报错了这是我的源代码:后来我去问了一下人工ai错误提示表明你的文件中包含了非UTF-8编码的字符序列,这可能是由于你的源代码文件不是以UTF-8编码保存的。Python3默认使用UTF-8编码,如果你的代码文件使用了不同的编码,就会在执行时遇到这个问......
  • Pandas Dataframe合并连接Join和merge 参数讲解
    文章目录函数与参数分析otheronhowlsuffix,rsuffix,suffixesleft_index,right_index函数与参数分析在pandas中主要有两个函数可以完成table之间的joinJoin的函数如下:DataFrame.join(other,on=None,how=‘left’,lsuffix=‘’,rsuffix=‘’,sort=False,va......
  • 【数据处理包Pandas】分组及相关操作
    目录一、初步认识分组并查看分组信息(一)通过聚合函数查看分组信息(二)转换成列表查看所有组的信息(三)通过循环查看各组的名称和组中的数据信息(四)通过get_group()方法直接获得一组数据二、分组再认识三、分组的执行过程(一)split阶段:创建分组的常见形式(二)应用阶段:对数据进行必......
  • 大数据应用——pandas基础教程
    目录pandas数据结构Series结构如下创建Series对象获取数据DataFrame结构创建DataFrame对象DataFrame使用读取数据数据查看索引操作基础索引loc索引和iloc索引重置索引rename函数赋值修改索引索引排序多重索引嵌套列表创造多重索引MultiIndex类Mult......
  • 数据分析的利器,Pandas 软件包详解与应用示例
    左手编程,右手年华。大家好,我是一点,关注我,带你走入编程的世界。公众号:一点sir在中土大地上,有一位名为"数据剑客"的江湖人士,他手持一柄闪烁着银光的利剑,剑法犀利,能够破解数据的种种奥秘。传言他曾在一场数据风暴中横扫八方,击溃了无数数据乱象,以无情的数据剑法征服了各路数据恶徒......
  • pandas中describe() 函数的应用
    describe()函数用于生成关于DataFrame中数值型列的统计摘要。它提供了各种描述性统计信息,如均值、标准差、最小值、最大值、四分位数等,以帮助我们更好地了解数据的分布情况。下面是一个示例,说明如何使用describe()函数:importpandasaspd#创建一个DataFramedata=......
  • 【数据处理包Pandas】多级索引的创建及使用
    目录一、元组作为一级索引(一)示例1(二)示例2二、引入多级索引(一)多级索引的创建(二)多级索引中的数学选取 首先,导入NumPy库和Pandas库。importnumpyasnpimportpandasaspd一、元组作为一级索引如果想产生如下图所示的学生成绩表:因为DataFrame的行索......
  • pandas中cummax() 函数的应用
    cummax()函数用于计算DataFrame或Series中数值型数据的累积最大值。它将沿着指定的轴(行或列)对数据进行累积求最大值,并返回一个具有相同形状的DataFrame或Series。下面是一个示例,说明如何使用cummax()函数:importpandasaspd#创建一个DataFramedata={'......
  • Pandas学习笔记
    Pandas学习笔记Pandas官方文档非常全面,但从希望快速上手使用的角度,过于全面,不过Pandas官方提供了CheetSheet,概要总结了Pandas的核心功能,相对于官方文档来说更加简明,不过缺点则是从刚上手使用的角度来说过于简明于是本篇文字就围绕CheetSheet,增加相应的样例代码,从而在不......
  • 利用pandas进行数据行转列和列转行
    一、数据列转行importpandasaspd#导入pandas库defpivot_excel_data(input_file,output_file):"""将Excel文件中的数据行转换为列,并保存为新的Excel文件Parameters:input_file(str):输入的Excel文件路径output_file(......