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