详解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写飞机大战游戏之pygame入门(4):获取鼠标的位置及运动
Nov 05 Python
Python PyQt5标准对话框用法示例
Aug 23 Python
Python判断文件和字符串编码类型的实例
Dec 21 Python
python OpenCV学习笔记直方图反向投影的实现
Feb 07 Python
python中(str,list,tuple)基础知识汇总
Feb 20 Python
使用python脚本实现查询火车票工具
Jul 19 Python
Python读取文件内容为字符串的方法(多种方法详解)
Mar 04 Python
python3.6使用SMTP协议发送邮件
May 20 Python
Python实现寻找回文数字过程解析
Jun 09 Python
Python机器学习之基础概述
May 19 Python
anaconda python3.8安装后降级
Jun 11 Python
Python OpenCV实现图像模板匹配详解
Apr 07 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 eval函数用法总结
2012/10/31 PHP
PHP 数组和字符串互相转换实现方法
2013/03/26 PHP
php通过隐藏表单控件获取到前两个页面的url
2014/09/09 PHP
PHP+mysql+ajax轻量级聊天室实现方法详解
2016/10/17 PHP
laravel 修改记住我功能的cookie保存时间的方法
2019/10/14 PHP
Javascript实现CheckBox的全选与取消全选的代码
2010/07/20 Javascript
javascript getElementsByClassName实现代码
2010/10/11 Javascript
浅谈javascript中的作用域
2012/04/07 Javascript
时间戳转换为时间 年月日时间的JS函数
2013/08/19 Javascript
简单介绍jsonp 使用小结
2016/01/27 Javascript
JS常用知识点整理
2017/01/21 Javascript
nodejs模块nodemailer基本使用-邮件发送示例(支持附件)
2017/03/28 NodeJs
在 vue-cli v3.0 中使用 SCSS/SASS的方法
2018/06/14 Javascript
node中的session的具体使用
2018/09/14 Javascript
JS控制GIF图片的停止与显示
2019/10/24 Javascript
Python使用py2exe打包程序介绍
2014/11/20 Python
使用Python编写一个模仿CPU工作的程序
2015/04/16 Python
Python3读取UTF-8文件及统计文件行数的方法
2015/05/22 Python
python版微信跳一跳游戏辅助
2018/01/11 Python
Redis使用watch完成秒杀抢购功能的代码
2018/05/07 Python
数组保存为txt, npy, csv 文件, 数组遍历enumerate的方法
2018/07/09 Python
详解python的四种内置数据结构
2019/03/19 Python
css3编写浏览器背景渐变背景色的方法
2018/03/05 HTML / CSS
欧舒丹比利时官网:L’OCCITANE比利时
2017/04/25 全球购物
荷兰家电销售网站:Welhof
2020/12/08 全球购物
在购买印度民族服饰:Soch
2020/09/15 全球购物
年会主持词结束语
2014/03/27 职场文书
生物学专业求职信
2014/07/23 职场文书
学雷锋标兵事迹材料
2014/08/18 职场文书
博物馆观后感
2015/06/05 职场文书
2019七夕节祝福语36句,快来收藏吧
2019/08/06 职场文书
新学期新寄语,献给新生们!
2019/11/15 职场文书
解析MySQL binlog
2021/06/11 MySQL
解决Maven项目中 Invalid bound statement 无效的绑定问题
2021/06/15 Java/Android
数据库之SQL技巧整理案例
2021/07/07 SQL Server
详解Python内置模块Collections
2022/03/22 Python