首页  >  文章  >  后端开发  >  如何按多列对 Pandas DataFrame 进行分组和计数并查找最大计数?

如何按多列对 Pandas DataFrame 进行分组和计数并查找最大计数?

Patricia Arquette
Patricia Arquette原创
2024-10-23 12:13:02338浏览

How to Group and Count Pandas DataFrames by Multiple Columns and Find Maximum Counts?

按两列对 Pandas DataFrame 进行分组以获取计数

考虑一个名为 df 的 DataFrame,其中包含列 col1、col2、col3、col4 和 col5,如提供的所示代码片段。要根据 col5 和 col2 中的特定值确定行数,请按照以下步骤操作:

按组获取行计数:

计算每行中的出现次数基于 col5 和 col2 值的唯一组合,使用 size() 方法,如下所示:

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

此操作按 col5 和 col2 对 DataFrame 进行分组,并计算每个组内的行数。输出将是一系列包含索引对 (col5, col2) 和相应计数的序列。

示例:

提供的代码片段使用 df DataFrame 演示了此操作,产生以下输出:

col5  col2
1     A       1
      D       3
2     B       2
3     A       3
      C       1
4     B       1
5     B       2
6     B       1
dtype: int64

在此输出中,每行代表 col5 和 col2 的唯一组合,相应的计数表示该组合在 DataFrame 中出现的次数。

查找每个 col2 值的最大计数:

要确定 col2 每个唯一值的最大计数,请执行以下步骤:

  1. 将 DataFrame 分组为仅 col2,不包括 col5。
  2. 使用 size() 计算每个 col2 组的行计数。
  3. 使用分组系列上的 max() 方法获取每个 col2 组的最大计数。

示例:

<code class="python">df.groupby(['col2']).size().groupby(level=1).max()</code>

此代码片段按 col2 对 df 进行分组,计算计数,然后找到每个 col2 值的最大计数,结果在以下输出中:

col2
A       3
B       2
C       1
D       3
dtype: int64

在此输出中,每个 col2 值与 col2 中共享该值的最大行数相关联。

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

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn