パンダ: 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 を使用して一意の値をカウントする方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です