Pandasでグループごとの標準偏差を計算する方法
次の方法を使用して、pandas のグループごとの標準偏差を計算できます。
方法 1: 列ごとにグループ化された列の標準偏差を計算する
df. groupby ([' group_col '])[' value_col ']. std ()
方法 2: 単一の列でグループ化された複数の列の標準偏差を計算する
df. groupby ([' group_col '])[' value_col1 ', ' value_col2 ']. std ()
方法 3: 複数の列でグループ化された列の標準偏差を計算する
df. groupby ([' group_col1 ', ' group_col2 '])[' value_col ']. std ()
次の例は、次の pandas DataFrame で各メソッドを実際に使用する方法を示しています。
import pandas as pd #createDataFrame df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'], ' position ': ['G', 'F', 'F', 'G', 'F', 'F', 'G', 'G'], ' points ': [30, 22, 19, 14, 14, 11, 20, 28], ' assists ': [4, 3, 7, 7, 12, 15, 8, 4]}) #view DataFrame print (df) team position points assists 0 AG 30 4 1 AF 22 3 2 FY 19 7 3 AG 14 7 4 BF 14 12 5 BF 11 15 6 BG 20 8 7 BG 28 4
例 1: 列ごとにグループ化された列の標準偏差を計算する
次のコードは、チーム列ごとにグループ化されたポイント列の標準偏差を計算する方法を示しています。
#calculate standard deviation of points grouped by team
df. groupby (' team ')[' points ']. std ()
team
A 6.70199
B 7.50000
Name: points, dtype: float64
結果から次のことがわかります。
- チーム A のポイントの標準偏差は6.70199です。
- チーム B のポイントの標準偏差は7.5です。
例 2:単一の列でグループ化された複数の列の標準偏差を計算する
次のコードは、チーム列ごとにグループ化されたポイント列の標準偏差とアシスト列の標準偏差を計算する方法を示しています。
#calculate standard deviation of points and assists grouped by team
df. groupby (' team ')[[' points ', ' assists ']]. std ()
assist points
team
A 6.70199 2.061553
B 7.50000 4.787136
結果には、各チームのポイント列とアシスト列の標準偏差が表示されます。
例 3: 複数の列でグループ化された列の標準偏差を計算する
次のコードは、チーム列とポジション列ごとにグループ化されたポイント列の標準偏差を計算する方法を示しています。
#calculate standard deviation of points, grouped by team and position
df. groupby ([' team ', ' position '])[' points ']. std ()
team position
AF 2.121320
G 11.313708
BF 2.121320
G 5.656854
Name: points, dtype: float64
結果から次のことがわかります。
- チーム A とポジション F のプレーヤーのポイントの標準偏差は2.12です。
- チーム A とポジション G のプレーヤーのポイントの標準偏差は11.31です。
- チーム B とポジション F のプレーヤーのポイントの標準偏差は2.12です。
- チーム B とポジション G のプレーヤーのポイントの標準偏差は5.65です。
追加リソース
次のチュートリアルでは、他の一般的なパンダのタスクを実行する方法について説明します。
パンダでグループ平均を計算する方法
Pandasでグループごとの最大値を計算する方法
Pandasでのグループごとの金額の計算方法
Pandas でグループごとに分位数を計算する方法