首頁 > 後端開發 > Python教學 > 如何在分組後找到 Pandas DataFrame 列中最常見的值?

如何在分組後找到 Pandas DataFrame 列中最常見的值?

Patricia Arquette
發布: 2024-11-30 12:13:12
原創
636 人瀏覽過

How to Find the Most Common Value in a Pandas DataFrame Column After Grouping?

GroupBy pandas DataFrame 並選擇最常見值

您的任務是清理包含三個字串列的資料框,確保第三列包含前兩列的指定組合的正確值。您提供的程式碼片段嘗試按前兩列對資料框進行分組,並為每個組合選擇第三列的最常見值。但是,您在嘗試執行 agg 函數時遇到問題。

使用 Pandas >= 0.16

您在程式碼中使用的語法已過時。相反,請使用 pd.Series.mode 函數,該函數在 Pandas 0.16 及更高版本中可用。該函數傳回一系列字串中最常見的值。應用方法如下:

source.groupby(['Country','City'])['Short name'].agg(pd.Series.mode)
登入後複製

此語法按「國家」和「城市」對資料框進行分組,將pd.Series.mode 函數應用於每個群組的「簡稱」列,並顯示結果。

如果您需要將輸出作為DataFrame,請使用此line:

source.groupby(['Country','City'])['Short name'].agg(pd.Series.mode).to_frame()
登入後複製

處理多種模式

pd.Series.mode函數也可以有效地處理存在多種模式的情況。例如,如果多個值以與最常見值相同的頻率出現,它們將作為模式清單傳回。

替代方案(不建議)

您可以使用Python標準函式庫中的statistics.mode函數。然而,這種方法在處理多種模式時表現不佳。當沒有一個最常見的值時,它會引發統計錯誤。

以上是如何在分組後找到 Pandas DataFrame 列中最常見的值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板