首頁 >後端開發 >Python教學 >Pandas GroupBy 如何計算每個名稱的水果總數?

Pandas GroupBy 如何計算每個名稱的水果總數?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-12-23 06:02:19191瀏覽

How Can Pandas GroupBy Calculate Total Fruits per Name?

Pandas Group-By:依名稱決定水果總數

在資料操作場景中,經常需要依照指定條件聚合資料。 Pandas 的 groupby 方法為資料分組和執行各種聚合提供了強大的解決方案。本文將示範如何使用 groupby 計算給定資料集中每個名稱的水果總和。

問題陳述:

給定一個包含表示 Fruit的列的資料框、日期、姓名和數字:

import pandas as pd

df = pd.DataFrame({
    'Fruit': ['Apples', 'Apples', 'Apples', 'Apples', 'Apples', 'Oranges', 'Oranges', 'Oranges', 'Oranges', 'Oranges', 'Grapes', 'Grapes', 'Grapes', 'Grapes', 'Grapes'],
    'Date': ['10/6/2016', '10/6/2016', '10/6/2016', '10/7/2016', '10/7/2016', '10/7/2016', '10/6/2016', '10/6/2016', '10/6/2016', '10/7/2016', '10/7/2016', '10/7/2016', '10/7/2016', '10/7/2016', '10/7/2016'],
    'Name': ['Bob', 'Bob', 'Mike', 'Steve', 'Bob', 'Bob', 'Tom', 'Mike', 'Bob', 'Tony', 'Bob', 'Tom', 'Bob', 'Bob', 'Tony'],
    'Number': [7, 8, 9, 10, 1, 2, 15, 57, 65, 1, 1, 87, 22, 12, 15]
})

解決方案:

要計算每個名稱的水果總和,請按照以下步驟操作:

result_df = df.groupby(['Fruit', 'Name'])['Number'].sum()

此操作將以「Fruit」和「Name」欄位對資料進行分組,並透過求和來聚合「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

如果需要指定特定欄位進行聚合,可以使用以下語法使用:

result_df = df.groupby(['Name', 'Fruit'])['Number'].sum()

透過使用Pandas 的groupby 和sum函數,我們可以有效地對資料進行分組和聚合,從而從大型資料集中獲得有意義的見解,使其成為資料探索和分析的強大工具。

以上是Pandas GroupBy 如何計算每個名稱的水果總數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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