首页 > 后端开发 > Python教程 > 如何使用 Pandas DataFrame GroupBy 执行值计数并查找多列的最大计数?

如何使用 Pandas DataFrame GroupBy 执行值计数并查找多列的最大计数?

Linda Hamilton
发布: 2024-10-23 11:40:02
原创
716 人浏览过

How to Perform Value Counts and Find Maximum Counts for Multiple Columns Using Pandas DataFrame GroupBy?

Pandas DataFrame GroupBy 多列进行值计数

在使用 Pandas 进行 DataFrame 操作时,按多列对数据进行分组可以提供有价值的见解。本文演示了如何在按两列分组时对观察值进行计数,以及确定每个分组的最高计数。

给定具有多列的 DataFrame,可以将“groupby”函数应用于对数据进行分组基于特定列。在这里,我们有一个名为“df”的 DataFrame,有五列:“col1”、“col2”、“col3”、“col4”和“col5”。

<code class="python">import pandas as pd

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>
登录后复制

按行计数组

要计算每个行组中的观测值数量,请在所需列上使用“groupby”函数,然后应用“size”函数。

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

此将生成一个 DataFrame,其中分组列作为索引,大小作为值。

<code class="python">print(result)</code>
登录后复制
登录后复制

确定最高计数

确定每个列的最大计数'col2' 值,对 'col2' 使用 'groupby' 函数,然后对分组数据应用 'max' 函数。

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

这将生成一个系列,其中每个 'col2 具有最大计数' 值。

<code class="python">print(result)</code>
登录后复制
登录后复制

总而言之,使用 Pandas 中的 'groupby' 和 'size' 函数可以有效地分析和聚合数据,使用户能够以各种方式提取有关其数据的见解。

以上是如何使用 Pandas DataFrame GroupBy 执行值计数并查找多列的最大计数?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板