首页 > 其他分享 >pandas函数中的Groupby

pandas函数中的Groupby

时间:2023-03-11 22:57:00浏览次数:45  
标签:Lemon 函数 5000.0 df pandas Groupby Pandas Courses groupby

Groupby

1.Groupby的基础操作

import pandas as pd
import numpy as np

data = {"Courses":["Numpy","Pandas","Java","Pandas","Python","Python"],"Teacher":["Jack","Lemon","nan","Lemon","Peter","Lemon"],
       "Fee":[3000,4500,5000,4000,4900,5000],"Duration":["45days","30days","55days","20days","60days","35days"],"Discount":[200.0,
        300.0,100.0,120.0,200.0,"nan"]}
#空值必须是字符型的!需要仔细琢磨
df= pd.DataFrame(data)

# 单列聚合


g = df.groupby("Courses")

#size()
g.size()#groupby对象size函数会列出分组中每组数量的个数
"""
Courses
Java      1
Numpy     1
Pandas    2
Python    2
dtype: int64
"""

#g.describe()
g.describe().round(2)#describe函数会将分组后数据列的统计信息列出来

Java	1.0	5000.0	NaN	5000.0	5000.0	5000.0	5000.0	5000.0
Numpy	1.0	3000.0	NaN	3000.0	3000.0	3000.0	3000.0	3000.0
Pandas	2.0	4250.0	353.55	4000.0	4125.0	4250.0	4375.0	4500.0
Python	2.0	4950.0	70.71	4900.0	4925.0	4950.0	4975.0	5000.0


## groupby可以按某列进行分组,
df.groupby("Courses").mean()#按照"Courses"进行分组并求平均值

#需要注意的是,求均值只针对整形,浮点数等数值类型,如果包括字符串等其他类型,会有警告提示!此时可以通过设置“numeric_only=True”调整
df.groupby("Courses").mean(numeric_only=True)


# 多列聚合
g = df.groupby(["Courses","Teacher"]).mean(numeric_only=True)#按照"Courses","Teacher"两列进行分组,然后求平均值

Java	nan	5000.0
Numpy	Jack	3000.0
Pandas	Lemon	4250.0
Python	Lemon	5000.0
Peter	4900.0

#as_index
# 当设置as_index = False时,分组列将是数据框的列,也就是将重复的行进行合并
df.groupby("Courses",as_index=False).mean()

#get_group
#通过get_group函数可以将group对象的某组提取出来
df.groupby("Courses").get_group("Pandas")
"""

1	Pandas	Lemon	4500	30days	300.0
3	Pandas	Lemon	4000	20days	120.0
"""

#对于多列的group对象,也是可以将某个具体的分组提取出来的
df.groupby(["Courses","Teacher"]).get_group(("Python","Lemon"))
"""
5	Python	Lemon	5000	35days	nan
"""

#axis=1
#当axis=1时沿1轴方向进行分组,列表中“lst”中具有相同元素值的分为同一组,因此这里的结果分为“A”,“B”两组,然后每组各自求和
data2 = {"a":[80,90,60,73,89],"b":[80,75,80,85,83],"c":[70,75,80,73,62]}
df2 = pd.DataFrame(data=data2,index=list("efxyz"))
lst = ["A","B","B"]
df2.groupby(lst,axis=1).sum()
"""
e	80	150
f	90	150
x	60	160
y	73	158
z	89	145
"""

标签:Lemon,函数,5000.0,df,pandas,Groupby,Pandas,Courses,groupby
From: https://www.cnblogs.com/yangzilaing/p/17207265.html

相关文章

  • Go 函数
    1.函数定义func函数名(参数1,参数2类型,参数3类型)(返回值1类型,返回值2类型){​ return类型1,类型2}funcmain(){add(1,2,3.1)}funcadd(a,b......
  • Matlab:四杆机构函数
    function[theta,omega,alpha]=crank_rocker(theta1,omega1,alpha1,l1,l2,l3,l4)%1.计算从动件的角位移L=sqrt(l4*l4+l1*l1-2*l1*l4*cos(theta1));phi=asin((l1./L)*......
  • 基于神经网络的传递函数控制器matlab实现,神经网络自己编程实现不使用matlab的工具箱
    1.算法描述       神经控制器在在实时控制系统中起着“大脑”的作用。神经网络具有自学习和自适应等智能特点,因而非常适用于控制器设计。对于复杂非线性系统,神经控......
  • 字符串函数
    字符串函数一:strlen()函数strlen()用于统计字符串的长度使用缩短字符串长度的函数#include<stdio.h>#include<string.h> //内含字符串函数原型voidfit(char......
  • 内存操作函数详解
    这是一篇介绍内存操作函数的博客,包含memcpy、memmove、memcmp、memset的具体介绍及模拟实现,也与相似的字符串操作函数进行了比较。一、MSDN中的注解1、memcpy在缓冲区......
  • 【Python】main函数 if name=='main' 详解
    引言Python代码print('hellowword')代码执行顺序我们可以看到Python仅仅用了一行代码即可完成其他编程语言多行的输出Hello,World其他的编程语言像C/C++/C#/JA......
  • SQL函数——时间函数
    1、使用NOW()、CURDATE()、CURTIME()获取当前时间在这里我有一个问题想问问大家,你们平时都是怎么样子获取时间的呢?是不是通过手表、手机、电脑等设备了解到的,那么你们......
  • 2023.03.11.函数重载,引用等
    程序生成的过程:1.预处理:头文件的展开宏的替换预处理指令解析去掉注释2.编译:预处理后文件生成汇编文件.asm(汇编代码)词法解析,语法解析语义分析优化3.汇编:汇编文件进一......
  • 浙大版《C语言程序设计(第3版)》题目集 习题5-1 符号函数
    本题要求实现符号函数sign(x)。函数接口定义:intsign(intx);其中​​x​​是用户传入的整型参数。符号函数的定义为:若​​x​​大于0,​​sign(x)​​ = 1;若​​x​​等......
  • 浙大版《C语言程序设计(第3版)》题目集 习题5-1 符号函数
    本题要求实现符号函数sign(x)。函数接口定义:intsign(intx);其中​​x​​是用户传入的整型参数。符号函数的定义为:若​​x​​大于0,​​sign(x)​​ = 1;若​​x​​等......