详解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 两个列表的差集、并集和交集实现代码
Sep 21 Python
Python 使用SMTP发送邮件的代码小结
Sep 21 Python
解决Linux系统中python matplotlib画图的中文显示问题
Jun 15 Python
Python中进程和线程的区别详解
Oct 29 Python
python pandas修改列属性的方法详解
Jun 09 Python
Python基于Logistic回归建模计算某银行在降低贷款拖欠率的数据示例
Jan 23 Python
Python实现判断一个整数是否为回文数算法示例
Mar 02 Python
python 控制Asterisk AMI接口外呼电话的例子
Aug 08 Python
Python获取时间戳代码实例
Sep 24 Python
python绘制随机网络图形示例
Nov 21 Python
Python 解码Base64 得到码流格式文本实例
Jan 09 Python
浅析python 通⽤爬⾍和聚焦爬⾍
Sep 28 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 循环列出目录内容的函数代码
2010/05/26 PHP
从PHP $_SERVER相关参数判断是否支持Rewrite模块
2013/09/26 PHP
PHP获取文件相对路径的方法
2015/02/26 PHP
老生常谈PHP面向对象之注册表模式
2017/05/26 PHP
云网广告中的代码,提示出错,大家找找
2006/11/21 Javascript
HTML上传控件取消选择
2013/03/06 Javascript
JS异常处理的一个想法(sofish)
2013/03/14 Javascript
点击隐藏页面左栏或右栏实现js代码
2013/04/01 Javascript
在父页面调用子页面的JS方法
2013/09/29 Javascript
使用JavaScript实现Java的List功能(实例讲解)
2013/11/07 Javascript
css3元素简单的闪烁效果实现(html5 jquery)
2013/12/28 Javascript
浅谈Javascript数组的使用
2015/07/29 Javascript
逐一介绍Jquery data()、Jquery stop()、jquery delay()函数(详)
2015/11/04 Javascript
jQuery实现移动端滑块拖动选择数字效果
2015/12/24 Javascript
js验证框架实现代码分享
2016/05/18 Javascript
js插件dropload上拉下滑加载数据实例解析
2016/07/27 Javascript
JS实现页面载入时随机显示图片效果
2016/09/07 Javascript
通过Ajax使用FormData对象无刷新上传文件方法
2016/12/08 Javascript
input 标签实现输入框带提示文字效果(两种方法)
2017/10/09 Javascript
jquery一键控制checkbox全选、反选或全不选
2017/10/16 jQuery
浅析vue中的provide / inject 有什么用处
2019/11/10 Javascript
纯js+css实现仿移动端淘宝网站的弹出详情框功能
2019/12/29 Javascript
对vue生命周期的深入理解
2020/12/03 Vue.js
Python算法应用实战之栈详解
2017/02/04 Python
Python中单例模式总结
2018/02/20 Python
Python 字符串转换为整形和浮点类型的方法
2018/07/17 Python
Python数据预处理之数据规范化(归一化)示例
2019/01/08 Python
Python run()函数和start()函数的比较和差别介绍
2020/05/03 Python
使用python将微信image下.dat文件解密为.png的方法
2020/11/30 Python
Python 用__new__方法实现单例的操作
2020/12/11 Python
澳大利亚潮流尖端的快时尚品牌:Cotton On
2016/09/26 全球购物
Tretorn美国官网:瑞典外套和鞋类品牌,抵御风雨
2018/07/19 全球购物
For Art’s Sake官网:手工制作的奢华眼镜
2018/12/15 全球购物
Prototype中如何为一个元素添加一个方法
2014/12/08 面试题
电气工程师岗位职责
2015/02/12 职场文书
2016年三严三实党课学习心得体会
2016/01/06 职场文书