首頁  >  文章  >  後端開發  >  如何按多列對 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