使用Groupby 取得群組中具有最大值的行
在執行資料分析時,通常需要識別具有最高值的行對於由其他列定義的每個組中的特定列。可以使用廣泛使用的 Python 資料操作庫 pandas 的 groupby() 和 transform() 方法方便地執行此操作。
問題陳述
給定一個包含「Sp」、「Mt」、「Value」和「count」等列的pandas DataFrame,我們的目標是提取具有最大值的行由「Sp」和「Mt」列定義的每個群組中的「count」值。
解
要擷取所需的行,我們可以採用以下步驟:
計算每個的最大計數分組:
辨識具有最大計數的行:
範例1
考慮以下DataFrame:
Sp | Mt | Value | count |
---|---|---|---|
MM1 | S1 | a | 3 |
MM1 | S1 | n | 2 |
MM1 | S3 | cb | 5 |
MM2 | S3 | mk | 8 |
MM2 | S4 | bg | 10 |
MM2 | S4 | dgd | 1 |
MM4 | S2 | rd | 2 |
MM4 | S2 | cb | 2 |
MM4 | S2 | uyi | 7 |
Sp | Mt | Value | count |
---|---|---|---|
MM1 | S1 | a | 3 |
MM1 | S3 | cb | 5 |
MM2 | S3 | mk | 8 |
MM2 | S4 | bg | 10 |
MM4 | S2 | uyi | 7 |
範例 2
使用不同的 DataFrame:
Sp | Mt | Value | count |
---|---|---|---|
MM2 | S4 | bg | 10 |
MM2 | S4 | dgd | 1 |
MM4 | S2 | rd | 2 |
MM4 | S2 | cb | 8 |
MM4 | S2 | uyi | 8 |
輸出變成:
Sp | Mt | Value | count |
---|---|---|---|
MM2 | S4 | bg | 10 |
MM4 | S2 | cb | 8 |
MM4 | S2 | uyi | 8 |
輸出變成:
輸出變成。 🎜>以上是如何在 Pandas 中找到組內具有最大值的行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!