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中文网其他相关文章!