首頁 > 後端開發 > Python教學 > 如何以兩列將 DataFrame 分組、計算出現次數並找出最大計數?

如何以兩列將 DataFrame 分組、計算出現次數並找出最大計數?

DDD
發布: 2024-10-23 12:10:02
原創
608 人瀏覽過

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
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板