パンダ: groupby で as_index を使用する方法
pandas groupby()オペレーションでas_index引数を使用すると、グループ化した列を出力のインデックスとして使用するかどうかを指定できます。
as_index引数にはTrueまたはFalseを指定できます。
デフォルトはTrueです。
次の例は、実際にas_index引数を使用する方法を示しています。
例: pandas groupby で as_index を使用する方法
さまざまなチームのバスケットボール選手が獲得したポイント数を示す次のパンダ データフレームがあるとします。
import pandas as pd
#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'A', 'B', 'B', 'C', 'C', 'C'],
' points ': [12, 15, 17, 17, 19, 14, 15, 20, 24, 28]})
#view DataFrame
print (df)
team points
0 to 12
1 to 15
2 to 17
3 to 17
4 to 19
5 B 14
6 B 15
7 C 20
8 C 24
9 C 28
次の構文を使用して行をチーム列ごとにグループ化し、 as_index=Trueを指定してチームを出力インデックスとして使用しながら、ポイント列の合計を計算できます。
#group rows by team and calculate sum of points
print ( df.groupby (' team ', as_index= True ) .sum ())
points
team
At 80
B29
C 72
出力には、ポイント列の値の合計がチーム列の値ごとにグループ化されて表示されます。
チーム列が出力のインデックスとして使用されることに注意してください。
代わりにas_index=Falseを指定すると、チーム列は出力インデックスとして使用されません。
#group rows by team and calculate sum of points
print ( df.groupby (' team ', as_index= False ) .sum ())
team points
0 to 80
1 B 29
2 C 72
チームが出力の列として使用され、インデックス列には単純に 0 ~ 2 の番号が付けられることに注意してください。
注: pandas groupby()オペレーションの完全なドキュメントはここで見つけることができます。
追加リソース
次のチュートリアルでは、パンダで他の一般的な操作を実行する方法を説明します。
Pandas Groupby を使用した後にグループを取得する方法
Pandas GroupBy 出力を DataFrame に変換する方法
Pandas Groupby に関数を適用する方法