详解python中groupby函数通俗易懂


Posted in Python onMay 14, 2020

一、groupby 能做什么?

python中groupby函数主要的作用是进行数据的分组以及分组后地组内运算!

对于数据的分组和分组运算主要是指groupby函数的应用,具体函数的规则如下:

df[](指输出数据的结果属性名称).groupby([df[属性],df[属性])(指分类的属性,数据的限定定语,可以有多个).mean()(对于数据的计算方式——函数名称)

举例如下:

print(df["评分"].groupby([df["地区"],df["类型"]]).mean())
#上面语句的功能是输出表格所有数据中不同地区不同类型的评分数据平均值

二、单类分组

A.groupby("性别")

详解python中groupby函数通俗易懂

首先,我们有一个变量A,数据类型是DataFrame

想要按照【性别】进行分组

得到的结果是一个Groupby对象,还没有进行任何的运算。

describe()

描述组内数据的基本统计量

A.groupby("性别").describe().unstack()

详解python中groupby函数通俗易懂

* 只有数字类型的列数据才会计算统计

* 示例里面数字类型的数据有两列 【班级】和【身高】

但是,我们并不需要统计班级的均值等信息,只需要【身高】,所以做一下小的改动:

A.groupby("性别")["身高"].describe().unstack()

详解python中groupby函数通俗易懂

unstack()

索引重排

上面的例子里面用到了一个小的技巧,让运算结果更便于对比查看,感兴趣的同学可以自行去除unstack,比较一下显示的效果

三、多类分组

A.groupby( ["班级","性别"])

详解python中groupby函数通俗易懂

单独用groupby,我们得到的还是一个 Groupby 对象。

mean()

组内均值计算

DataFrame的很多函数可以直接运用到Groupby对象上。

详解python中groupby函数通俗易懂

上图截自 pandas 官网 document,这里就不一一细说。

我们还可以一次运用多个函数计算

A.groupby( ["班级","性别"]).agg([np.sum, np.mean, np.std]) # 一次计算了三个

详解python中groupby函数通俗易懂

agg()

分组多个运算

四、时间分组

时间序列可以直接作为index,或者有一列是时间序列,差别不是很大。

这里仅仅演示,某一列为时间序列。

为A 新增一列【生日】,由于分隔符 “/” 的问题,我们查看列属性,【生日】的属性并不是日期类型

详解python中groupby函数通俗易懂

我们想做的是:

1、按照【生日】的【年份】进行分组,看看有多少人是同龄?

A["生日"] = pd.to_datetime(A["生日"],format ="%Y/%m/%d") # 转化为时间格式
A.groupby(A["生日"].apply(lambda x:x.year)).count() # 按照【生日】的【年份】分组

进一步,我们想选拔:

2、同一年作为一个小组,小组内生日靠前的那一位作为小队长:

A.sort_values("生日", inplace=True) # 按时间排序
A.groupby(A["生日"].apply(lambda x:x.year),as_index=False).first()

详解python中groupby函数通俗易懂

as_index=False

保持原来的数据索引结果不变

first()

保留第一个数据

Tail(n=1)

保留最后n个数据

再进一步:

3、想要找到哪个月只有一个人过生日

A.groupby(A["生日"].apply(lambda x:x.month),as_index=False) # 到这里是按月分组
A.groupby(A["生日"].apply(lambda x:x.month),as_index=False).filter(lambda x: len(x)==1)

详解python中groupby函数通俗易懂

filter()

对分组进行过滤,保留满足()条件的分组

以上就是 groupby 最经常用到的功能了。

用 first(),tail()截取每组前后几个数据

用 apply()对每组进行(自定义)函数运算

用 filter()选取满足特定条件的分组

到此这篇关于详解python中groupby函数通俗易懂的文章就介绍到这了,更多相关python groupby函数内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python 实现链表实例代码
Apr 07 Python
一个月入门Python爬虫学习,轻松爬取大规模数据
Jan 03 Python
python自动截取需要区域,进行图像识别的方法
May 17 Python
python实现抠图给证件照换背景源码
Aug 20 Python
Python实现二叉树的最小深度的两种方法
Sep 30 Python
Python3安装pip工具的详细步骤
Oct 14 Python
Python 利用邮件系统完成远程控制电脑的实现(关机、重启等)
Nov 19 Python
Python实现栈和队列的简单操作方法示例
Nov 29 Python
Python中使用gflags实例及原理解析
Dec 13 Python
Python 抓取数据存储到Redis中的操作
Jul 16 Python
使用Pytorch搭建模型的步骤
Nov 16 Python
Python实现随机生成迷宫并自动寻路
Jun 13 Python
django 解决扩展自带User表遇到的问题
May 14 #Python
解决更改AUTH_USER_MODEL后出现的问题
May 14 #Python
Python基于numpy模块实现回归预测
May 14 #Python
Django之全局使用request.user.username的实例详解
May 14 #Python
Django使用Profile扩展User模块方式
May 14 #Python
python网络编程之五子棋游戏
May 14 #Python
Jupyter notebook如何修改平台字体
May 13 #Python
You might like
PHP一些常用的正则表达式字符的一些转换
2008/07/29 PHP
PHP下SSL加密解密、验证、签名方法(很简单)
2020/06/28 PHP
PHP使用自定义方法实现数组合并示例
2016/07/07 PHP
CakePHP框架Model函数定义方法示例
2017/08/04 PHP
tp5.1 框架路由操作-URL生成实例分析
2020/05/26 PHP
Javascript图像处理—平滑处理实现原理
2012/12/28 Javascript
控制台报错object is not a function的解决方法
2014/08/24 Javascript
JavaScript 异常处理 详解
2015/02/06 Javascript
JQuery中DOM事件冒泡实例分析
2015/06/13 Javascript
JavaScript 定时器 SetTimeout之定时刷新窗口和关闭窗口(代码超简单)
2016/02/26 Javascript
html+javascript+bootstrap实现层级多选框全层全选和多选功能
2017/03/09 Javascript
微信小程序实战篇之购物车的实现代码示例
2017/11/30 Javascript
vue实现登录后页面跳转到之前页面
2018/01/07 Javascript
微信小程序利用for循环解决内容变更问题
2020/03/05 Javascript
在实例中重学JavaScript事件循环
2020/12/03 Javascript
python正则表达式re模块详细介绍
2014/05/29 Python
Python实现批量更换指定目录下文件扩展名的方法
2016/09/19 Python
Python中实现switch功能实例解析
2018/01/11 Python
python3库numpy数组属性的查看方法
2018/04/17 Python
python读写LMDB文件的方法
2018/07/02 Python
python GUI实现小球满屏乱跑效果
2019/05/09 Python
对Python中一维向量和一维向量转置相乘的方法详解
2019/08/26 Python
python网络编程:socketserver的基本使用方法实例分析
2020/04/09 Python
Python爬虫之App爬虫视频下载的实现
2020/12/08 Python
html5 web本地存储将取代我们的cookie
2012/12/26 HTML / CSS
Html5页面内使用JSON动画的实现
2019/01/29 HTML / CSS
澳大利亚最大的在线美发和美容零售商之一:My Hair Care & Beauty
2019/08/24 全球购物
照片礼物和装饰:MyPhoto
2019/11/02 全球购物
经济信息管理专业大学生求职信
2013/09/27 职场文书
党员年终民主评议的自我评价
2013/11/05 职场文书
学校招生宣传广告词
2014/03/19 职场文书
个人合作协议书范本
2014/04/18 职场文书
小学数学课题方案
2014/06/15 职场文书
上课讲话检讨书范文
2015/05/07 职场文书
入党转正申请书范文
2019/05/20 职场文书
PyTorch device与cuda.device用法
2022/04/03 Python