详解python pandas 分组统计的方法

作者:kingsam_ 时间:2021-01-30 05:33:48 

首先,看看本文所面向的应用场景:我们有一个数据集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的类型了。

来源:https://blog.csdn.net/qq_22238533/article/details/72367792

标签:pandas,python,分组统计
0
投稿

猜你喜欢

  • python实现批量转换文件编码(批转换编码示例)

    2023-07-28 22:03:47
  • 20个Javascript手风琴折叠菜单

    2009-10-12 12:09:00
  • ASP去掉字符串头尾连续回车和空格的Function

    2011-04-03 11:13:00
  • 用Python自动清理电脑内重复文件,只要10行代码(自动脚本)

    2021-03-23 05:09:50
  • Python Learning 列表的更多操作及示例代码

    2022-11-15 01:05:33
  • 谈谈网页设计中的字体应用 (1) Font Set

    2009-11-24 12:55:00
  • ASP怎样获得代码中第一张图片地址

    2008-10-29 09:40:00
  • oracle数据库下统计专营店的男女数量的语句

    2012-07-11 16:01:17
  • SQL Server数据库备份多种方法

    2008-11-24 15:27:00
  • Tensorflow中使用cpu和gpu有什么区别

    2021-10-15 15:48:45
  • 解析python调用函数加括号和不加括号的区别

    2023-11-30 17:29:50
  • 一文搞懂Python中的进程,线程和协程

    2023-06-13 17:26:41
  • 不唐突的JavaScript的七条准则[翻译]

    2008-12-09 13:33:00
  • 详解使用vscode+es6写nodejs服务端调试配置

    2023-07-17 17:17:37
  • 动态生成的IFRAME设置SRC时的,不同位置带来的影响

    2008-03-06 13:56:00
  • 浅谈python3.x pool.map()方法的实质

    2022-07-30 22:27:30
  • oblog4.6转换ucenterHome1.5过程全记录,提供老用户无法登陆的补丁

    2009-10-29 12:04:00
  • Python PCA降维的两种实现方法

    2022-03-05 04:25:47
  • python基础教程之简单入门说明(变量和控制语言使用方法)

    2023-01-06 00:25:20
  • 浅谈ASP自动采集程序及入库

    2007-08-17 11:25:00
  • asp之家 网络编程 m.aspxhome.com