Spec-Zone.ru › NumPy 1.16

numpy.nanquantile

numpy.nanquantile(a, q, axis=None, out=None, overwrite_input=False, interpolation='linear', keepdims=<no value>) [source]

Вычислить q-й квантиль данных по указанной оси, игнорируя значения nan. Возвращает q-й квантиль(и) элементов массива. .. versionadded:: 1.15.0

Параметры:
a : array_like

Входной массив или объект, который может быть преобразован в массив, содержащий значения nan, которые нужно игнорировать

q : array_like of float

Квантиль или последовательность квантилей для вычисления, которые должны быть в диапазоне от 0 до 1 включительно.

axis : {int, tuple of int, None}, optional

Ось или оси, по которым вычисляются квантили. По умолчанию вычисляются квантиль(и) по уплощенной версии массива.

out : ndarray, optional

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

overwrite_input : bool, optional

Если True, то разрешить входному массиву a быть изменённым промежуточными вычислениями, чтобы сохранить память. В этом случае содержимое входного массива a после завершения функции неопределённо.

interpolation : {‘linear’, ‘lower’, ‘higher’, ‘midpoint’, ‘nearest’}

Этот необязательный параметр определяет метод интерполяции, который следует использовать, когда искомый квантиль находится между двумя точками данных i < j:

  • linear: i + (j - i) * fraction, где fraction — дробная часть индекса, окружённая i и j.
  • lower: i.
  • higher: j.
  • nearest: i или j, которое ближе.
  • midpoint: (i + j) / 2.
keepdims : bool, optional

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

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

Возвращает:
quantile : scalar or ndarray

Если q — единственный перцентиль и axis=None, то результат — скаляр. Если заданы несколько квантилей, первая ось результата соответствует квантилям. Другие оси — это оси, которые остаются после сокращения a. Если вход содержит целые числа или числа с плавающей запятой меньше float64, тип выходных данных — float64. В противном случае тип выходных данных такой же, как у входных данных. Если out указан, возвращается этот массив.

См. также

quantile, nanmean, nanmedian

nanmedian
эквивалентно nanquantile(..., 0.5)
nanpercentile
то же самое, что и nanquantile, но с q в диапазоне [0, 100].

Примеры

>>> a = np.array([[10., 7., 4.], [3., 2., 1.]])
>>> a[0][1] = np.nan
>>> a
array([[ 10.,  nan,   4.],
      [  3.,   2.,   1.]])
>>> np.quantile(a, 0.5)
nan
>>> np.nanquantile(a, 0.5)
3.5
>>> np.nanquantile(a, 0.5, axis=0)
array([ 6.5,  2.,   2.5])
>>> np.nanquantile(a, 0.5, axis=1, keepdims=True)
array([[ 7.],
       [ 2.]])
>>> m = np.nanquantile(a, 0.5, axis=0)
>>> out = np.zeros_like(m)
>>> np.nanquantile(a, 0.5, axis=0, out=out)
array([ 6.5,  2.,   2.5])
>>> m
array([ 6.5,  2. ,  2.5])
>>> b = a.copy()
>>> np.nanquantile(b, 0.5, axis=1, overwrite_input=True)
array([  7.,  2.])
>>> assert not np.all(a==b)

© 2005–2019 NumPy Developers
Licensed under the 3-clause BSD License.
https://docs.scipy.org/doc/numpy-1.16.1/reference/generated/numpy.nanquantile.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API