理解Pandas 中的GroupBy 聚合計算
在處理大型資料集時,pandas 提供了一個名為groupby() 的強大函數來對資料進行分組特定列並對分組資料執行計算。在這種情況下,讓我們探討如何利用 groupby() 來計算群組內值的總和。
考慮以下資料框,其中我們有有關個人在多個日期購買水果的詳細資訊:
| Fruit | Date | Name | Number | |---|---|---|---| | Apples | 10/6/2016 | Bob | 7 | | Apples | 10/6/2016 | Bob | 8 | | Apples | 10/6/2016 | Mike | 9 | | Apples | 10/7/2016 | Steve | 10 | | Apples | 10/7/2016 | Bob | 1 | | Oranges | 10/7/2016 | Bob | 2 | | Oranges | 10/6/2016 | Tom | 15 | | Oranges | 10/6/2016 | Mike | 57 | | Oranges | 10/6/2016 | Bob | 65 | | Oranges | 10/7/2016 | Tony | 1 | | Grapes | 10/7/2016 | Bob | 1 | | Grapes | 10/7/2016 | Tom | 87 | | Grapes | 10/7/2016 | Bob | 22 | | Grapes | 10/7/2016 | Bob | 12 | | Grapes | 10/7/2016 | Tony | 15 |
目標:計算按名稱分組的水果購買總和
我們的目標是計算每個人購買的水果總數,按水果(Fruit)和人名(Name)將資料分組。
解決方案:使用GroupBy.sum()
為了實現這一點,我們使用groupby() 函數對列進行分組:
result = df.groupby(['Fruit', 'Name']).sum()
應用於分組資料的sum() 方法會自動聚合指定列中的值(在本例中,Number 表示購買的水果數量)。
輸出:
程式碼的輸出為我們提供了聚合值:
| | Number | |----------------|--------| | Fruit | Name | | Apples | Bob | 16 | | | Mike | 9 | | | Steve | 10 | | Grapes | Bob | 35 | | | Tom | 87 | | | Tony | 15 | | Oranges | Bob | 67 | | | Mike | 57 | | | Tom | 15 | | | Tony | 1 |
在這裡,我們可以觀察每個人購買的水果總數在每個水果類別。例如,在「鮑伯」組中,購買的「蘋果」總數為 16 個,購買的「葡萄」總數為 35 個。
以上是Pandas 的「groupby()」函數如何計算組內值的總和?的詳細內容。更多資訊請關注PHP中文網其他相關文章!