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

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

Patricia Arquette
發布: 2024-12-02 01:58:09
原創
129 人瀏覽過

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

按pandas DataFrame 分組並選擇最常見的值

要清理具有多個字串列的數據,請按前兩列分組並為第三列選擇最常見的值在每個組合中。

問題

提供的程式碼失敗並顯示KeyError,並且僅按 City 列分組會導致斷言錯誤。需要一個強大的解決方案。

解決方案

在pandas v0.16 之後,pd.Series.mode 為此任務提供了一種多功能且高效的方法:

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

解決多種模式

如果組內有多種模式,Series.mode 會傳回一個清單的價值觀。對於單一結果,應用 lambda 函數:

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

考慮的替代方案

也可以使用 scipy.stats.mode,但遇到多種模式時會引發錯誤。

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

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