详解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中splitlines()方法的使用简介
May 20 Python
详解在Python中处理异常的教程
May 24 Python
利用matplotlib+numpy绘制多种绘图的方法实例
May 03 Python
解决Ubuntu pip 安装 mysql-python包出错的问题
Jun 11 Python
python format 格式化输出方法
Jul 16 Python
Python OpenCV 调用摄像头并截图保存功能的实现代码
Jul 02 Python
Django  ORM 练习题及答案
Jul 19 Python
python如何将两张图片生成为全景图片
Mar 05 Python
Jupyter加载文件的实现方法
Apr 14 Python
python用TensorFlow做图像识别的实现
Apr 21 Python
Django 允许局域网中的机器访问你的主机操作
May 13 Python
PyCharm2020最新激活码+激活码补丁(亲测最新版PyCharm2020.2激活成功)
Nov 25 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中的正规表达式(二)
2006/10/09 PHP
Yii框架防止sql注入,xss攻击与csrf攻击的方法
2016/10/18 PHP
PHP实现的CURL非阻塞调用类
2018/07/26 PHP
关于laravel 子查询 & join的使用
2019/10/16 PHP
jQuery代码优化之基本事件
2011/11/01 Javascript
EasyUI 中 MenuButton 的使用方法
2012/07/14 Javascript
confirm的用法示例用于按钮操作时确定是否执行
2014/06/19 Javascript
JavaScript插件化开发教程 (三)
2015/01/27 Javascript
js/jquery判断浏览器类型的方法小结
2015/05/12 Javascript
nodejs实现获取当前url地址及url各种参数值
2015/06/25 NodeJs
javascript垃圾收集机制的原理分析
2016/12/08 Javascript
ionic+AngularJs实现获取验证码倒计时按钮
2017/04/22 Javascript
Vue导出json数据到Excel电子表格的示例
2017/12/04 Javascript
在vue中使用公共过滤器filter的方法
2018/06/26 Javascript
详解Vue中组件传值的多重实现方式
2019/08/16 Javascript
layer.open提交子页面的form和layedit文本编辑内容的方法
2019/09/27 Javascript
微信小程序学习总结(五)常见问题实例小结
2020/06/04 Javascript
vue中使用vue-pdf的方法详解
2020/09/05 Javascript
[01:04]DOTA2上海特锦赛现场采访 FreeAgain遭众解说围攻
2016/03/25 DOTA
python中requests模块的使用方法
2015/04/08 Python
Django实战之用户认证(用户登录与注销)
2018/07/16 Python
在python中实现对list求和及求积
2018/11/14 Python
Python 数值区间处理_对interval 库的快速入门详解
2018/11/16 Python
Python 共享变量加锁、释放详解
2019/08/28 Python
Python+Selenium+phantomjs实现网页模拟登录和截图功能(windows环境)
2019/12/11 Python
关于Python中定制类的比较运算实例
2019/12/19 Python
Python综合应用名片管理系统案例详解
2020/01/03 Python
澳大利亚家具商店:Freedom
2020/12/17 全球购物
仓库组长岗位职责
2014/01/29 职场文书
元旦晚会感言
2014/03/12 职场文书
出纳工作检讨书
2014/10/18 职场文书
八达岭长城导游词
2015/01/30 职场文书
幼儿园心得体会范文
2016/01/21 职场文书
祝福语集锦:朋友新店开业祝福语
2019/12/10 职场文书
一定要知道的 25 个 Vue 技巧
2021/11/02 Vue.js
git中cherry-pick命令的使用教程
2022/06/25 Servers