详解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遍历文件夹并删除特定格式文件的示例
Mar 05 Python
Linux下将Python的Django项目部署到Apache服务器
Dec 24 Python
Python中关于Sequence切片的下标问题详解
Jun 15 Python
Python设计模式之代理模式简单示例
Jan 09 Python
Sublime开发python程序的示例代码
Jan 24 Python
Python3.5 Pandas模块缺失值处理和层次索引实例详解
Apr 23 Python
Python多线程及其基本使用方法实例分析
Oct 29 Python
Python FTP文件定时自动下载实现过程解析
Nov 12 Python
python3使用Pillow、tesseract-ocr与pytesseract模块的图片识别的方法
Feb 26 Python
Python中常见的数制转换有哪些
May 27 Python
python实现二分查找算法
Sep 18 Python
Python实现科学占卜 让视频自动打码
Apr 09 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
Excel数据导入Mysql数据库的实现代码
2008/06/05 PHP
PHP+Ajax异步通讯实现用户名邮箱验证是否已注册( 2种方法实现)
2011/12/28 PHP
php登陆页的密码处理方式分享
2013/10/14 PHP
php使用mb_check_encoding检查字符串在指定的编码里是否有效
2013/11/07 PHP
smarty模板判断数组为空的方法
2015/06/10 PHP
PHP defined()函数的使用图文详解
2019/07/20 PHP
JavaScript中this关键字使用方法详解
2007/03/08 Javascript
jQuery源码分析之Callbacks详解
2015/03/13 Javascript
jquery衣服颜色选取插件效果代码分享
2015/08/28 Javascript
Bootstrap零基础入门教程(二)
2016/07/18 Javascript
React利用插件和不用插件实现双向绑定的方法详解
2017/07/03 Javascript
浅谈vue引用静态资源需要注意的事项
2018/09/28 Javascript
Vue使用.sync 实现父子组件的双向绑定数据问题
2019/04/04 Javascript
详解如何搭建mpvue框架搭配vant组件库的小程序项目
2019/05/16 Javascript
layui 根据后台数据动态创建下拉框并同时默认选中的实例
2019/09/02 Javascript
layerui代码控制tab选项卡,添加,关闭的实例
2019/09/04 Javascript
vue中使用带隐藏文本信息的图片、图片水印的方法
2020/04/24 Javascript
vue-video-player实现实时视频播放方式(监控设备-rtmp流)
2020/08/10 Javascript
python访问纯真IP数据库的代码
2011/05/19 Python
python操作MySQL数据库具体方法
2013/10/28 Python
Python实现连接postgresql数据库的方法分析
2017/12/27 Python
python 读入多行数据的实例
2018/04/19 Python
Python中pandas模块DataFrame创建方法示例
2018/06/20 Python
图文详解Django使用Pycharm连接MySQL数据库
2019/08/09 Python
matplotlib 三维图表绘制方法简介
2020/09/20 Python
python3实现简单飞机大战
2020/11/29 Python
CSS3制作ajax loader icon实现思路及代码
2013/08/25 HTML / CSS
用CSS3来实现社交分享按钮
2014/11/11 HTML / CSS
世界上最值得信赖的多日游在线市场:TourRadar
2018/07/20 全球购物
StubHub中国:购买和出售全球活动门票
2020/01/01 全球购物
介绍Java的内部类
2012/10/27 面试题
优秀应届毕业生自荐信
2013/11/16 职场文书
请假条格式范文
2014/04/10 职场文书
2014年高数考试作弊检讨书
2014/12/14 职场文书
公司出纳岗位职责
2015/03/31 职场文书
实习证明格式范文
2015/06/16 职场文书