详解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 Django做网页
Nov 04 Python
Python按行读取文件的实现方法【小文件和大文件读取】
Sep 19 Python
关于python下cv.waitKey无响应的原因及解决方法
Jan 10 Python
Python读取Pickle文件信息并计算与当前时间间隔的方法分析
Jan 30 Python
关于 Python opencv 使用中的 ValueError: too many values to unpack
Jun 28 Python
python画蝴蝶曲线图的实例
Nov 21 Python
简单了解python数组的基本操作
Nov 26 Python
Python 面向对象之类class和对象基本用法示例
Feb 02 Python
python GUI库图形界面开发之PyQt5信号与槽机制、自定义信号基础介绍
Feb 25 Python
使用Keras加载含有自定义层或函数的模型操作
Jun 10 Python
Python生成并下载文件后端代码实例
Aug 31 Python
python中的unittest框架实例详解
Feb 05 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
隐藏X-Space个人空间下方版权方法隐藏X-Space个人空间标题隐藏X-Space个人空间管理版权方法
2007/02/22 PHP
php db类库进行数据库操作
2009/03/19 PHP
php版微信小店API二次开发及使用示例
2016/11/12 PHP
html下载本地
2006/06/19 Javascript
js事件(Event)知识整理
2012/10/11 Javascript
javascript-简单的日历实现及Date对象语法介绍(附图)
2013/05/30 Javascript
jQuery实现当前页面标签高亮显示的方法
2015/03/10 Javascript
jQuery解析与处理服务器端返回xml格式数据的方法详解
2016/07/04 Javascript
简单模拟node.js中require的加载机制
2016/10/27 Javascript
JavaScript实现省市联动过程中bug的解决方法
2017/12/04 Javascript
解决VUE中document.body.scrollTop为0的问题
2018/09/15 Javascript
vue中组件的过渡动画及实现代码
2018/11/21 Javascript
vue基础之事件v-onclick="函数"用法示例
2019/03/11 Javascript
深入了解JavaScript 的 WebAssembly
2019/06/15 Javascript
Vue自定义指令结合阿里云OSS优化图片的实现方法
2019/11/12 Javascript
微信小程序实现时间进度条功能
2020/11/17 Javascript
vue自定义树状结构图的实现方法
2020/10/18 Javascript
[12:36]《DOTA2》国服注册与激活指南全攻略
2013/04/28 DOTA
Python进阶之尾递归的用法实例
2018/01/31 Python
解决python 文本过滤和清理问题
2019/08/28 Python
Python 单例设计模式用法实例分析
2019/09/23 Python
python返回数组的索引实例
2019/11/28 Python
python从内存地址上加载python对象过程详解
2020/01/08 Python
python 实现读取csv数据,分类求和 再写进 csv
2020/05/18 Python
New Balance天猫官方旗舰店:始于1906年,百年慢跑品牌
2017/11/15 全球购物
在什么时候需要使用"常引用"
2015/12/31 面试题
几个MySql的面试题
2013/04/22 面试题
社区安全检查制度
2014/02/03 职场文书
《恐龙》教学反思
2014/04/27 职场文书
保证书范文大全
2014/04/28 职场文书
国家奖学金获奖感言
2014/08/16 职场文书
保险公司反洗钱宣传活动总结
2015/05/08 职场文书
复兴之路观后感3000字
2015/06/02 职场文书
小学班级标语口号大全
2015/12/26 职场文书
《刷子李》教学反思
2016/02/20 职场文书
《小蝌蚪找妈妈》教学反思
2016/02/23 职场文书