trim_mean#
- scipy.stats.trim_mean(a, proportiontocut, ось=0)[источник]#
Возвращает среднее значение массива после обрезки заданной доли экстремальных значений
Удаляет указанную долю элементов из каждый конца отсортированного массива, затем вычисляет среднее оставшихся элементов.
- Параметры:
- aarray_like
Входной массив.
- proportiontocutfloat
Доля самых положительных и самых отрицательных элементов для удаления. Когда указанная доля не даёт целого числа элементов, количество обрезаемых элементов округляется в меньшую сторону.
- осьint или None, по умолчанию: 0
Ось, вдоль которой вычисляются усеченные средние. Если None, вычисляется по сведенному массиву.
- Возвращает:
- trim_meanndarray
Среднее значение усеченного массива.
Смотрите также
Примечания
Для 1-D массива a,
trim_meanприблизительно эквивалентно следующему вычислению:import numpy as np a = np.sort(a) m = int(proportiontocut * len(a)) np.mean(a[m: len(a) - m])
Примеры
>>> import numpy as np >>> from scipy import stats >>> x = [1, 2, 3, 5] >>> stats.trim_mean(x, 0.25) 2.5
Когда указанная доля не приводит к целому числу элементов, количество обрезаемых элементов округляется в меньшую сторону.
>>> stats.trim_mean(x, 0.24999) == np.mean(x) True
Используйте ось чтобы указать ось, вдоль которой выполняется вычисление.
>>> x2 = [[1, 2, 3, 5], ... [10, 20, 30, 50]] >>> stats.trim_mean(x2, 0.25) array([ 5.5, 11. , 16.5, 27.5]) >>> stats.trim_mean(x2, 0.25, axis=1) array([ 2.5, 25. ])