numpy.nanmedian#

numpy.nanmedian(a, axis=None, out=None, overwrite_input=False, keepdims= значение>)[источник]#

Вычислить медиану вдоль указанной оси, игнорируя NaN.

Возвращает медиану элементов массива.

Параметры:
aarray_like

Входной массив или объект, который может быть преобразован в массив.

ось{int, sequence of int, None}, optional

Ось или оси, вдоль которых вычисляются медианы. По умолчанию вычисляется медиана вдоль сведённой версии массива. Последовательность осей поддерживается с версии 1.9.0.

выходndarray, необязательно

Альтернативный выходной массив для размещения результата. Он должен иметь ту же форму и длину буфера, что и ожидаемый вывод, но тип (вывода) будет приведён при необходимости.

overwrite_inputbool, необязательно

Если True, то разрешить использование памяти входного массива a для вычислений. Входной массив будет изменён вызовом median. Это сэкономит память, когда вам не нужно сохранять содержимое входного массива. Рассматривайте вход как неопределённый, но он, вероятно, будет полностью или частично отсортирован. По умолчанию False. Если overwrite_input является True и a ещё не является ndarray, будет вызвана ошибка.

keepdimsbool, необязательно

Если установлено значение True, оси, которые были сокращены, остаются в результате как измерения с размером один. С этой опцией результат будет корректно транслироваться против исходного a.

Если это значение отличается от значения по умолчанию, оно будет передано (в особом случае пустого массива) в mean функция базового массива. Если массив является подклассом и mean не имеет аргумента keepdims это вызовет RuntimeError.

Возвращает:
медианаndarray

Новый массив, содержащий результат. Если вход содержит целые числа или числа с плавающей точкой меньше, чем float64, тогда тип выходных данных будет np.float64. В противном случае тип данных вывода совпадает с типом данных ввода. Если выход указан, возвращается этот массив.

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

mean, median, percentile

Примечания

Для заданного вектора V длины N, медиана V является средним значением отсортированной копии V, V_sorted - т.е., V_sorted[(N-1)/2], когда N является нечётным и среднее двух средних значений V_sorted когда N является чётным.

Примеры

>>> import numpy as np
>>> a = np.array([[10.0, 7, 4], [3, 2, 1]])
>>> a[0, 1] = np.nan
>>> a
array([[10., nan,  4.],
       [ 3.,  2.,  1.]])
>>> np.median(a)
np.float64(nan)
>>> np.nanmedian(a)
3.0
>>> np.nanmedian(a, axis=0)
array([6.5, 2. , 2.5])
>>> np.median(a, axis=1)
array([nan,  2.])
>>> b = a.copy()
>>> np.nanmedian(b, axis=1, overwrite_input=True)
array([7.,  2.])
>>> assert not np.all(a==b)
>>> b = a.copy()
>>> np.nanmedian(b, axis=None, overwrite_input=True)
3.0
>>> assert not np.all(a==b)