首頁 >後端開發 >Python教學 >Pandas 的「groupby()」函數如何計算組內值的總和?

Pandas 的「groupby()」函數如何計算組內值的總和?

Linda Hamilton
Linda Hamilton原創
2024-12-22 04:10:09302瀏覽

How Can Pandas' `groupby()` Function Calculate the Sum of Values Within Groups?

理解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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn