Spec-Zone.ru › NumPy 1.15

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:

  • линейный: i + (j - i) * fraction, где fraction является дробной частью индекса, окружённого i и j.
  • нижний: i.
  • верхний: j.
  • ближайший: i или j, какой из них ближе.
  • середина: (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.15.4/reference/generated/numpy.nanquantile.html

Spec-Zone.ru

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