scipy.ndimage.

медиана#

scipy.ndimage.медиана(входные данные, метки=None, index=None)[источник]#

Вычислить медиану значений массива по помеченным областям.

Параметры:
входные данныеarray_like

Array_like значений. Для каждой области, заданной метки, медианное значение входные данные вычисляется по области.

меткиarray_like, необязательный

Массивоподобный объект целых чисел, отмечающий различные области, по которым вычисляется медианное значение входные данные должно быть вычислено. метки должен иметь ту же форму, что и входные данные. Если метки не указан, возвращается медиана по всему массиву.

indexarray_like, необязательный

Список меток регионов, которые учитываются при вычислении медиан. Если index равен None, медиана вычисляется по всем элементам, где метки возвращается ненулевое значение.

Возвращает:
медианаfloat или список floats

Список медиан входные данные по областям, определенным метки и чей индекс находится в index. Если index или метки не указаны, возвращается число с плавающей точкой: медианное значение входные данные if метки равно None, и медианное значение элементов, где метки больше нуля, если index равно None.

Смотрите также

label, minimum, maximum, extrema, sum, mean, variance, standard_deviation

Примечания

Функция возвращает список Python, а не массив NumPy, используйте np.array для преобразования списка в массив.

Примеры

>>> from scipy import ndimage
>>> import numpy as np
>>> a = np.array([[1, 2, 0, 1],
...               [5, 3, 0, 4],
...               [0, 0, 0, 7],
...               [9, 3, 0, 0]])
>>> labels, labels_nb = ndimage.label(a)
>>> labels
array([[1, 1, 0, 2],
       [1, 1, 0, 2],
       [0, 0, 0, 2],
       [3, 3, 0, 0]], dtype=int32)
>>> ndimage.median(a, labels=labels, index=np.arange(1, labels_nb + 1))
[2.5, 4.0, 6.0]
>>> ndimage.median(a)
1.0
>>> ndimage.median(a, labels=labels)
3.0