Как вычислить усеченное среднее в Python (с примерами)


Усеченное среднее — это среднее значение набора данных, рассчитанное после удаления определенного процента наименьших и наибольших значений из набора данных.

Самый простой способ вычислить усеченное среднее значение в Python — использовать функцию trim_mean() из библиотеки SciPy.

Эта функция использует следующий базовый синтаксис:

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

В следующем коде показано, как вычислить среднее значение, усеченное на 5%, для определенного столбца в кадре данных pandas:

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. Вычисление усеченного среднего значения нескольких столбцов

В следующем коде показано, как вычислить среднее значение, усеченное на 5%, для нескольких столбцов в кадре данных pandas:

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() можно найти здесь .

Дополнительные ресурсы

Как рассчитать усеченное среднее вручную
Калькулятор усеченного среднего