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 of float -
Квантиль или последовательность квантилей для вычисления, которые должны находиться в диапазоне от 0 до 1 включительно.
-
axis{int, tuple of int, None}, optional -
Ось или оси, по которым вычисляются квантили. По умолчанию квантиль(и) вычисляется(ются) для сплющенной версии массива.
-
outndarray, optional -
Альтернативный массив вывода, в который необходимо поместить результат. Он должен иметь такую же форму и длину буфера, как ожидаемый результат, но тип (результата) будет преобразован при необходимости.
-
overwrite_inputbool, 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.
- linear:
-
keepdimsbool, optional -
Если это установлено в True, то оси, которые были уменьшены, остаются в результате как измерения с размером один. С этим вариантом результат будет правильно транслироваться относительно исходного массива
a.
-
- Возвращаемое значение
-
-
quantilescalar or 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–2021 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.20/reference/generated/numpy.quantile.html