详解python pandas 分组统计的方法


Posted in Python onJuly 30, 2019

首先,看看本文所面向的应用场景:我们有一个数据集df,现在想统计数据中某一列每个元素的出现次数。这个在我们前面文章《如何画直方图》中已经介绍了方法,利用value_counts()就可以实现(具体回看文章)

但是,现在,我们考虑另外一个场景,我们假如要想统计其中两列元素出现次数呢?举个栗子:

详解python pandas 分组统计的方法

在df数据集中,如果我们想统计A、B两列的元素的出现情况,也就是说,得到如下表。

详解python pandas 分组统计的方法

从上面的最后一列可以看到,在A、B两列中,1 2 出现了2次,1 4 出现1次 ,1 6出现1次,2 3出现了2次, 2 4 出现1次, 3 1出现了1次

具体实现的代码:

import pandas as pd
df=pd.DataFrame([[1,2,2],[1,4,5],[1,2,4],[1,6,3],[2,3,1],[2,4,1],[2,3,5],[3,1,1]],columns=['A','B','C'])
gp=df.groupby(by=['A','B'])
gp.size()

所以,如果想统计更多列,只要在groupby()中的by参数添加就可以,例如统计3列。

gp=df.groupby(by=['A','B','C'])

由gp.size()得到的是可以mulitiindex Series。

下面,要转化成DataFrame的结构。

newdf=gp.size()
newdf.reset_index(name='times')

详解python pandas 分组统计的方法

其中name中参数就是我们可以为最后一列添加新的名字,例如这里的“times”

这个时候newdf已经是DataFrame的类型了。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python导入txt数据到mysql的方法
Apr 08 Python
一篇文章入门Python生态系统(Python新手入门指导)
Dec 11 Python
使用python遍历指定城市的一周气温
Mar 31 Python
Python OpenCV处理图像之图像直方图和反向投影
Jul 10 Python
Python实现深度遍历和广度遍历的方法
Jan 22 Python
Python3利用Dlib实现摄像头实时人脸检测和平铺显示示例
Feb 21 Python
Django获取该数据的上一条和下一条方法
Aug 12 Python
win10下python2和python3共存问题解决方法
Dec 23 Python
Python 写了个新型冠状病毒疫情传播模拟程序
Feb 14 Python
Jupyter 无法下载文件夹如何实现曲线救国
Apr 22 Python
使用OpenCV实现人脸图像卡通化的示例代码
Jan 15 Python
Python捕获、播放和保存摄像头视频并提高视频清晰度和对比度
Apr 14 Python
python文档字符串(函数使用说明)使用详解
Jul 30 #Python
python3.6 tkinter实现屏保小程序
Jul 30 #Python
简单了解python变量的作用域
Jul 30 #Python
学习和使用python的13个理由
Jul 30 #Python
Win10系统下安装labelme及json文件批量转化方法
Jul 30 #Python
python利用tkinter实现屏保
Jul 30 #Python
django 微信网页授权登陆的实现
Jul 30 #Python
You might like
PHP操作文件类的函数代码(文件和文件夹创建,复制,移动和删除)
2011/11/10 PHP
php实现图片添加水印功能
2014/02/13 PHP
一个简单的php路由类
2016/05/29 PHP
PHP删除数组中特定元素的两种方法
2019/02/28 PHP
YII2框架中ActiveDataProvider与GridView的配合使用操作示例
2020/03/18 PHP
js加解密 脚本解密
2008/02/22 Javascript
在IE,Firefox,Safari,Chrome,Opera浏览器上调试javascript
2008/12/02 Javascript
图片动画横条广告带上下滚动可自定义图片、链接等等
2013/10/20 Javascript
Javascript 多物体运动的实现
2014/12/24 Javascript
详解jQuery中的元素的属性和相关操作
2015/08/14 Javascript
Jquery调用iframe父页面中的元素及方法
2016/08/23 Javascript
Bootstrap和Angularjs配合自制弹框的实例代码
2016/08/24 Javascript
Vue.js常用指令汇总(v-if、v-for等)
2016/11/03 Javascript
nodejs中全局变量的实例解析
2017/03/07 NodeJs
jQuery插件HighCharts实现气泡图效果示例【附demo源码】
2017/03/13 Javascript
浅谈Node.js ORM框架Sequlize之表间关系
2017/07/24 Javascript
vue实现登陆登出的实现示例
2017/09/15 Javascript
微信小程序上传图片并等比列压缩到指定大小的实例代码
2019/10/24 Javascript
jQuery实现简单飞机大战
2020/07/05 jQuery
[02:34]DOTA2亚洲邀请赛 BG战队出场宣传片
2015/03/09 DOTA
[37:50]VP vs TNC Supermajor小组赛B组 BO3 第一场 6.2
2018/06/03 DOTA
python函数局部变量用法实例分析
2015/08/04 Python
python实现汉诺塔方法汇总
2016/07/25 Python
python实现括号匹配的思路详解
2018/08/23 Python
Python中字符串List按照长度排序
2019/07/01 Python
Python中pyecharts安装及安装失败的解决方法
2020/02/18 Python
Python编程快速上手——strip()函数的正则表达式实现方法分析
2020/02/29 Python
TensorFlow使用Graph的基本操作的实现
2020/04/22 Python
什么是java序列化,如何实现java序列化
2012/11/14 面试题
EJB面试题
2015/07/28 面试题
什么是岗位职责
2013/11/12 职场文书
ktv好的活动方案
2014/08/17 职场文书
2015年元旦标语大全
2014/12/09 职场文书
证券公司客户经理岗位职责
2015/04/09 职场文书
centos8安装nginx1.9.1的详细过程
2021/08/02 Servers
未发现nvidia显卡怎么办?Win11系统中未检测到nvidia显卡解决教程
2022/04/08 数码科技