numpy.nanmedian
-
numpy.nanmedian(a, axis=None, out=None, overwrite_input=False, keepdims=False)[source] -
Вычисление медианы по указанной оси, игнорируя значения NaN.
Возвращает медиану элементов массива.
Новая в версии 1.9.0.
Параметры: a : array_like
Входной массив или объект, который может быть преобразован в массив.
axis : int, необязательно
Ось, по которой вычисляются медианы. По умолчанию (axis=None) вычисляется медиана по сплющенной версии массива. Последовательность осей поддерживается с версии 1.9.0.
out : ndarray, необязательно
Альтернативный выходной массив, в который следует поместить результат. Он должен иметь ту же форму и длину буфера, что и ожидаемый результат, но тип (результата) будет преобразован при необходимости.
overwrite_input : bool, необязательно
Если True, то разрешить использование памяти входного массива (a) для вычислений. Входной массив будет изменен вызовом median. Это сэкономит память, когда вам не нужно сохранять содержимое входного массива. Обращайтесь с входными данными как с неопределенными, но, вероятно, они будут полностью или частично отсортированы. Значение по умолчанию — False. Обратите внимание, что если
overwrite_inputравно True, а входной массив не является ndarray, будет выброшено исключение.keepdims : bool, необязательно
Если установлено в True, оси, по которым выполняется сокращение, остаются в результате как измерения с размером один. С этим параметром результат будет корректно транслироваться по отношению к исходному
arr.Возвращает: median : ndarray
Новый массив, содержащий результат. Если вход содержит целые числа или числа с плавающей запятой меньшей точности, чем 64, тип данных результата — float64. В противном случае тип данных результата совпадает с типом данных входных данных.
См. также
Примечания
Для заданного вектора V длиной N медиана V — это среднее значение отсортированной копии V,
V_sorted, когда N нечетное. Когда N четное, это среднее значение двух средних значенийV_sorted.Примеры
>>> 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) nan >>> np.nanmedian(a) 3.0 >>> np.nanmedian(a, axis=0) array([ 6.5, 2., 2.5]) >>> np.median(a, axis=1) array([ 7., 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)
© 2008–2016 NumPy Developers
Licensed under the NumPy License.
https://docs.scipy.org/doc/numpy-1.10.1/reference/generated/numpy.nanmedian.html