详解python pandas 分组统计的方法

 更新时间:2019年07月30日 09:10:46   作者:kingsam_  
这篇文章主要介绍了详解pandas python 分组统计的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

首先,看看本文所面向的应用场景:我们有一个数据集df,现在想统计数据中某一列每个元素的出现次数。这个在我们前面文章《如何画直方图》中已经介绍了方法,利用value_counts()就可以实现(具体回看文章)

但是,现在,我们考虑另外一个场景,我们假如要想统计其中两列元素出现次数呢?举个栗子:


在df数据集中,如果我们想统计A、B两列的元素的出现情况,也就是说,得到如下表。


从上面的最后一列可以看到,在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')

其中name中参数就是我们可以为最后一列添加新的名字,例如这里的“times”

这个时候newdf已经是DataFrame的类型了。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • python直接调用和使用swig法方调用c++库

    python直接调用和使用swig法方调用c++库

    这篇文章主要介绍了python直接调用和使用swig法方调用c++库,c++运算速度快于python,python简单易写。很多时候对于已有的c++代码也不想用python重写,此时就自然而然地想到用python调用c或者c++,两全其美,需要的朋友可以参考一下
    2022-03-03
  • keras读取h5文件load_weights、load代码操作

    keras读取h5文件load_weights、load代码操作

    这篇文章主要介绍了keras读取h5文件load_weights、load代码操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • Python机器学习库sklearn(scikit-learn)的基础知识和高级用法

    Python机器学习库sklearn(scikit-learn)的基础知识和高级用法

    Scikit-Learn是 Python 最流行的机器学习库之一,它提供了各种工具来实现、评估和探索各种学习算法,用于,各种机器学习任务,在本教程中,我们将介绍 Scikit-Learn 的基础知识和一些高级用法,并提供一些实例代码来帮助我们更好地理解
    2023-07-07
  • python实现图像随机裁剪的示例代码

    python实现图像随机裁剪的示例代码

    这篇文章主要介绍了python实现图像随机裁剪的示例代码,帮助大家更好的理解和使用python处理图片,感兴趣的朋友可以了解下
    2020-12-12
  • python在windows下实现ping操作并接收返回信息的方法

    python在windows下实现ping操作并接收返回信息的方法

    这篇文章主要介绍了python在windows下实现ping操作并接收返回信息的方法,实例分析了Python实现ping操作的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-03-03
  • Python开发的HTTP库requests详解

    Python开发的HTTP库requests详解

    Requests是用Python语言编写,基于urllib,采用Apache2 Licensed开源协议的HTTP库。它比urllib更加方便,可以节约我们大量的工作,完全满足HTTP测试需求。Requests的哲学是以PEP 20 的习语为中心开发的,所以它比urllib更加Pythoner。更重要的一点是它支持Python3哦!
    2017-08-08
  • Python带你从浅入深探究Tuple(基础篇)

    Python带你从浅入深探究Tuple(基础篇)

    大家都知道Python中的元组容器序列(tuple)与列表容器序列(list)有很多相同之处,他们虽然都可以存储任意类型的数据,但是一个元组定义好之后就不能够再进行修改,对Python Tuple相关知识感兴趣的朋友一起看看吧
    2021-05-05
  • python逆向之pyc反编译的使用教程

    python逆向之pyc反编译的使用教程

    python代码的运行是靠python解析器将源代码转换为字节码,本文主要介绍了python逆向之pyc反编译的使用教程,具有一定的参考价值,感兴趣的可以了解一下
    2024-03-03
  • Python第三方库undetected_chromedriver的使用

    Python第三方库undetected_chromedriver的使用

    这篇文章主要给大家介绍了关于Python第三方库undetected_chromedriver的使用方法,文中通过实例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2023-01-01
  • 利用PyCharm Profile分析异步爬虫效率详解

    利用PyCharm Profile分析异步爬虫效率详解

    这篇文章主要给大家介绍了关于如何利用PyCharm Profile分析异步爬虫效率的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用PyCharm具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-05-05

最新评论