详解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 03 Python
用Python编写生成树状结构的文件目录的脚本的教程
May 04 Python
python解析xml文件实例分析
May 27 Python
为Python的Tornado框架配置使用Jinja2模板引擎的方法
Jun 30 Python
python代码实现ID3决策树算法
Dec 20 Python
Windows下Anaconda的安装和简单使用方法
Jan 04 Python
python 使用值来排序一个字典的方法
Nov 16 Python
对Python中一维向量和一维向量转置相乘的方法详解
Aug 26 Python
Python 使用多属性来进行排序
Sep 01 Python
PyCharm中配置PySide2的图文教程
Jun 18 Python
matplotlib源码解析标题实现(窗口标题,标题,子图标题不同之间的差异)
Feb 22 Python
Django中的JWT身份验证的实现
May 07 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 header()函数使用说明
2008/07/10 PHP
destoon整合ucenter后注册页面不跳转的解决方法
2014/06/21 PHP
async和DOM Script文件加载比较
2014/07/20 PHP
php解析json数据实例
2014/08/19 PHP
PHP更安全的密码加密机制Bcrypt详解
2017/06/18 PHP
取选中的radio的值
2010/01/11 Javascript
Javacript实现颜色梯度变化和渐变的效果代码
2013/05/31 Javascript
jquery实现pager控件示例
2014/04/09 Javascript
js实现仿京东2级菜单效果(带延时功能)
2015/08/27 Javascript
WebGL利用FBO完成立方体贴图效果完整实例(附demo源码下载)
2016/01/26 Javascript
javascript实现可键盘控制的抽奖系统
2016/03/10 Javascript
JS实现根据文件字节数返回文件大小的方法
2016/08/02 Javascript
基于jquery实现的鼠标悬停提示案例
2016/12/11 Javascript
详解react-router如何实现按需加载
2017/06/15 Javascript
vue中如何实现变量和字符串拼接
2017/06/19 Javascript
ajax+node+request爬取网络图片的实例(宅男福利)
2017/08/28 Javascript
用原生 JS 实现 innerHTML 功能实例详解
2019/04/03 Javascript
JavaScript Event Loop相关原理解析
2020/06/10 Javascript
Openlayers学习之地图比例尺控件
2020/09/28 Javascript
[54:02]2018DOTA2亚洲邀请赛 4.1 小组赛 B组 IG vs VGJ.T
2018/04/03 DOTA
Python获取本机所有网卡ip,掩码和广播地址实例代码
2018/01/22 Python
python三方库之requests的快速上手
2019/03/04 Python
python函数参数(必须参数、可变参数、关键字参数)
2019/08/16 Python
Python关键字及可变参数*args,**kw原理解析
2020/04/04 Python
keras多显卡训练方式
2020/06/10 Python
Python基于字典实现switch case函数调用
2020/07/22 Python
法学专业应届生求职信
2013/10/16 职场文书
大学生个人事迹材料
2014/01/21 职场文书
国家助学金获奖感言
2014/01/31 职场文书
计算机网络工程专业职业生涯规划书
2014/03/10 职场文书
学习2014年全国两会心得体会
2014/03/12 职场文书
驾驶员安全责任书
2014/07/22 职场文书
乡镇创先争优活动总结
2014/08/28 职场文书
骨干教师申报材料
2014/12/17 职场文书
唐山大地震观后感
2015/06/05 职场文书
再也不用花钱买漫画!Python爬取某漫画的脚本及源码
2021/06/09 Python