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()関数の完全なドキュメントを見つけることができます。

追加リソース

トリム平均を手動で計算する方法
トリム平均計算機

コメントを追加する

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