Python でトリミング平均を計算する方法 (例付き)
トリミング平均は、データ セット内の最小値と最大値の特定の割合を削除した後に計算されたデータ セットの平均です。
Python でトリミング平均を計算する最も簡単な方法は、SciPy ライブラリのTrim_mean()関数を使用することです。
この関数は次の基本構文を使用します。
from scipy import stats #calculate 10% trimmed mean stats. trim_mean (data, 0.1 )
次の例は、実際にこの関数を使用してトリミング平均を計算する方法を示しています。
例 1: テーブルのトリミング平均を計算する
次のコードは、データ テーブルの 10% トリミング平均を計算する方法を示しています。
from scipy import stats #define data data = [22, 25, 29, 11, 14, 18, 13, 13, 17, 11, 8, 8, 7, 12, 15, 6, 8, 7, 9, 12] #calculate 10% trimmed mean stats. trim_mean (data, 0.1 ) 12,375
10% のトリミング平均は12.375です。
これは、値の最小 10% と最大 10% がデータセットから削除された後のデータセットの平均です。
例 2: Pandas で列のトリミング平均を計算する
次のコードは、pandas DataFrame の特定の列の 5% トリミング平均を計算する方法を示しています。
from scipy import stats import pandas as pd #define DataFrame df = pd. DataFrame ({' points ': [25, 12, 15, 14, 19, 23, 25, 29], ' assists ': [5, 7, 7, 9, 12, 9, 9, 4], ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]}) #calculate 5% trimmed mean of points stats. trim_mean (df. points , 0.05 ) 20.25
「ポイント」列の値の 5% トリミング平均は20.25です。
これは、5% の最小値と 5% の最大値を削除した後の「ポイント」列の平均です。
例 3: 複数の列のトリミング平均を計算する
次のコードは、pandas DataFrame の複数の列の 5% トリミング平均を計算する方法を示しています。
from scipy import stats import pandas as pd #define DataFrame df = pd. DataFrame ({' points ': [25, 12, 15, 14, 19, 23, 25, 29], ' assists ': [5, 7, 7, 9, 12, 9, 9, 4], ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]}) #calculate 5% trimmed mean of 'points' and 'assists' columns stats. trim_mean (df[[' points ', ' assists ']], 0.05 ) array([20.25, 7.75])
結果から次のことがわかります。
- 「ポイント」列の 5% トリミング平均は20.25です。
- 「アシスト」列の 5% トリミング平均は7.75です。
注: ここで、 trim_mean()関数の完全なドキュメントを見つけることができます。
追加リソース
トリム平均を手動で計算する方法
トリム平均計算機