Pandas Group-By: Determining Fruit Totals by Name
データ操作シナリオでは、指定された基準に基づいてデータを集計する必要がよくあります。 。 Pandas の groupby メソッドは、データをグループ化し、さまざまな集計を実行するための強力なソリューションを提供します。この記事では、groupby を使用して、指定されたデータセット内の各名前のフルーツの合計を計算する方法を説明します。
問題ステートメント:
フルーツを表す列を持つデータフレームが与えられたとします。 、日付、名前、および数値:
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 中国語 Web サイトの他の関連記事を参照してください。