Spec-Zone.ru › NumPy 1.21

numpy.quantile

numpy.quantile(a, q, axis=None, out=None, overwrite_input=False, interpolation='linear', keepdims=False)[source]

Вычисление q-го квантиля данных по указанной оси.

Введено в версии 1.15.0.

Параметры
aarray_like

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

qarray_like из float

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

axis{int, кортеж из int, None}, необязательно

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

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

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

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

Если 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.
keepdimsbool, необязательно

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

Возвращает
quantileскаляр или ndarray

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

См. также

mean
percentile

эквивалентно квантилю, но с q в диапазоне [0, 100].

median

эквивалентно quantile(..., 0.5)

nanquantile

Примечания

Учитывая вектор V длиной N, q-й квантиль V — это значение q от минимального до максимального в отсортированной копии V. Значения и расстояния двух ближайших соседей, а также параметр interpolation определят квантиль, если нормализованное ранжирование не соответствует точно расположению q. Эта функция эквивалентна медиане, если q=0.5, эквивалентна минимуму, если q=0.0, и эквивалентна максимуму, если q=1.0.

Примеры

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

© 2005–2022 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.21/reference/generated/numpy.quantile.html

Spec-Zone.ru

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