パンダ: groupby の列の平均と標準を計算します
pandas でgroupby()操作を使用した後、次の構文を使用して列の平均と標準偏差を計算できます。
df. groupby ([' team '], as_index= False ). agg ({' points ':[' mean ', ' std ']})
この特定の例では、パンダ データフレームの行をTeam列の値でグループ化し、 Points列の値の平均と標準偏差を計算します。
次の例は、この構文を実際に使用する方法を示しています。
例: Pandas groupby の列の平均とノルムを計算する
さまざまなチームのバスケットボール選手に関する情報を含む次のパンダ データフレームがあるとします。
import pandas as pd #createDataFrame df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'C', 'C', 'C'], ' points ': [12, 15, 17, 17, 19, 14, 15, 20, 24, 28], ' assists ': [5, 5, 7, 9, 10, 14, 13, 8, 2, 7]}) #view DataFrame print (df) team points assists 0 to 12 5 1 to 15 5 2 To 17 7 3 To 17 9 4 B 19 10 5 B 14 14 6 B 15 13 7 C 20 8 8 C 24 2 9 C 28 7
次の構文を使用して、チーム列ごとにグループ化されたポイント列の値の平均と標準偏差を計算できます。
#calculate mean and standard deviation of points, grouped by team output = df. groupby ([' team '], as_index= False ). agg ({' points ':[' mean ', ' std ']}) #view results print (output) team points mean std 0 A 15.25 2.362908 1 B 16.00 2.645751 2 C 24.00 4.000000
結果から次のことがわかります。
- チーム A の平均ポイント値は15.25です。
- チーム A のポイントの標準偏差は2.362908です。
等々。
結果が読みやすいように列の名前を変更することもできます。
#rename columns output.output. columns = [' team ', ' points_mean ', ' points_std '] #view updated results print (output) team points_mean points_std 0 A 15.25 2.362908 1 B 16.00 2.645751 2 C 24.00 4.000000
注: pandas groupby()オペレーションの完全なドキュメントはここで見つけることができます。
追加リソース
次のチュートリアルでは、パンダで他の一般的な操作を実行する方法を説明します。
Pandas で GroupBy 合計を実行する方法
Pandas で Groupby と Plot を使用する方法
Pandas で GroupBy を使用して一意の値をカウントする方法