numpy.nanmedian
-
numpy.nanmedian(a, axis=None, out=None, overwrite_input=False, keepdims=False)[source] -
Вычислить медиану по указанной оси, игнорируя значения NaN.
Возвращает медиану элементов массива.
Новая в версии 1.9.0.
Параметры: a : array_like
Входной массив или объект, который может быть преобразован в массив.
axis : {int, последовательность int, None}, необязательно
Ось или оси, по которым вычисляются медианы. По умолчанию вычисляется медиана по уплощенной версии массива. Последовательность осей поддерживается с версии 1.9.0.
out : ndarray, необязательно
Альтернативный выходной массив, в который следует поместить результат. Он должен иметь такую же форму и длину буфера, как ожидаемый выход, но тип (выхода) будет преобразован, если необходимо.
overwrite_input : bool, необязательно
Если True, разрешить использование памяти входного массива
aдля вычислений. Входной массив будет изменён вызовомmedian. Это сэкономит память, когда вам не нужно сохранять содержимое входного массива. Обращайтесь с входными данными как с неопределёнными, но, вероятно, они будут полностью или частично отсортированы. По умолчанию False. Еслиoverwrite_inputравноTrueиaещё не являетсяndarray, будет выведено сообщение об ошибке.keepdims : bool, необязательно
Если установлено в True, оси, которые были уменьшены, остаются в результате в качестве размерностей с размером один. С этим параметром результат будет корректно транслироваться относительно исходного
arr.Возвращает: median : ndarray
Новый массив, содержащий результат. Если входной массив содержит целые или плавающие числа меньше
float64, тогда тип выходных данных —np.float64. В противном случае тип данных выходных данных совпадает с типом данных входных данных. Еслиoutзадан, возвращается этот массив.См. также
Примечания
Для вектора
VдлиныN, медианойVявляется среднее значение отсортированной копииV,V_sorted- то естьV_sorted[(N-1)/2], когдаNнечётное, и среднее значение двух средних значенийV_sortedкогдаNчётное.Примеры
>>> 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.11.0/reference/generated/numpy.nanmedian.html