パンダ: groupby() を使用した後にグループを取得する方法
pandas DataFrame でgroupby()関数を使用した後、次のメソッドを使用して特定のグループを取得できます。
方法 1: groupby() を使用した後にグループを取得する
grouped_df. get_group (' A ')
方法 2: groupby() を使用した後にグループから特定の列を取得する
grouped_df[[' column1 ', ' column3 ']]. get_group (' A ')
次の例は、次の pandas DataFrame で各メソッドを実際に使用する方法を示しています。
import pandas as pd #createDataFrame df = pd. DataFrame ({' store ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'], ' sales ': [12, 15, 24, 24, 14, 19, 12, 38], ' refunds ': [4, 8, 7, 7, 10, 5, 4, 11]}) #view DataFrame print (df) store sales refunds 0 to 12 4 1 to 15 8 2 to 24 7 3 to 24 7 4 B 14 10 5 B 19 5 6 B 12 4 7 B 38 11
例 1: groupby() を使用した後にグループを取得する
次のコードは、 groupby( ) 関数を使用して店舗名ごとに行をグループ化し、次にget_group()関数を使用してグループ名「A」のグループに属するすべての行を取得する方法を示しています。
#group rows of DataFrame based on value in 'store' column
grouped_stores = df. groupby ([' store '])
#get all rows that belong to group name 'A'
grouped_stores. get_group (' A ')
store sales refunds
0 to 12 4
1 to 15 8
2 to 24 7
3 to 24 7
get_group()は、グループ名「A」のグループに属するすべての行を返すことに注意してください。
例 2: groupby() を使用した後にグループから特定の列を取得する
次のコードは、 groupby( ) 関数を使用して店舗名ごとに行をグループ化し、次にget_group()関数を使用して、グループ名「A」のグループに属するすべての行を「sales」列と「Refunds」列のみ取得する方法を示しています。 :
#group rows of DataFrame based on value in 'store' column
grouped_stores = df. groupby ([' store '])
#get all rows that belong to group name 'A' for sales and refunds columns
grouped_stores[[' store ', ' refunds ']]. get_group (' A ')
store refunds
0 to 4
1 to 8
2 to 7
3 to 7
get_group()は、「sales」列と「refunds」列についてのみ、グループ名「A」のグループに属するすべての行を返すことに注意してください。
追加リソース
次のチュートリアルでは、パンダで他の一般的な操作を実行する方法を説明します。
Pandas で GroupBy 合計を実行する方法
Pandas で Groupby と Plot を使用する方法
Pandas で GroupBy を使用して一意の値をカウントする方法