首頁 >後端開發 >Python教學 >如何使用 Pandas DataFrame GroupBy 執行值計數並尋找多列的最大計數?

如何使用 Pandas DataFrame GroupBy 執行值計數並尋找多列的最大計數?

Linda Hamilton
Linda Hamilton原創
2024-10-23 11:40:02722瀏覽

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn