如何按两列对 DataFrame 进行分组、计算出现次数并查找最大计数?

DDD
发布: 2024-10-23 12:10:02
原创
536 人浏览过

How to Groupby DataFrame by Two Columns, Count Occurrences, and Find Maximum Count?

按两列对 DataFrame 进行分组并检索计数

在本教程中,我们将演示如何计算 Pandas DataFrame 中两列组合的出现次数并识别分组列之一中每个唯一值的最大计数。

问题陈述

考虑以下 Pandas DataFrame df:

<code class="python">df = pd.DataFrame([
    [1.1, 1.1, 1.1, 2.6, 2.5, 3.4,2.6,2.6,3.4,3.4,2.6,1.1,1.1,3.3], 
    list('AAABBBBABCBDDD'), 
    [1.1, 1.7, 2.5, 2.6, 3.3, 3.8,4.0,4.2,4.3,4.5,4.6,4.7,4.7,4.8], 
    ['x/y/z','x/y','x/y/z/n','x/u','x','x/u/v','x/y/z','x','x/u/v/b','-','x/y','x/y/z','x','x/u/v/w'],
    ['1','3','3','2','4','2','5','3','6','3','5','1','1','1']
]).T
df.columns = ['col1','col2','col3','col4','col5']</code>
登录后复制

计数出现次数

要获取 df 中 col5 和 col2 的每个唯一组合的计数,我们可以利用 groupby 函数,后跟 size 方法:

<code class="python">df.groupby(['col5', 'col2']).size()</code>
登录后复制

输出将是:

col5  col2
1     A       1
      D       3
2     B       2
etc...
登录后复制

查找每个 col2 值的最大计数

要确定每个 col2 值的最大计数,我们可以使用 groupby 函数的 size 方法来计算组大小,然后在第一级使用 groupby 来查找最大值对于每个唯一的 col2 值:

<code class="python">df.groupby(['col5', 'col2']).size().groupby(level=1).max()</code>
登录后复制

这将产生输出:

col2
A       3
B       2
C       1
D       3
dtype: int64
登录后复制

以上是如何按两列对 DataFrame 进行分组、计算出现次数并查找最大计数?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!