Spec-Zone.ru › NumPy 1.11

numpy.percentile

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

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

Возвращает q-й процентиль(и) элементов массива.

Параметры:

a : array_like

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

q : число в диапазоне [0,100] (или последовательность чисел)

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

axis : {int, последовательность int, None}, необязательно

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

out : ndarray, необязательно

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

overwrite_input : bool, необязательно

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

interpolation : {‘линейный’, ‘нижний’, ‘верхний’, ‘середина’, ‘ближайший’}

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

  • линейный: i + (j - i) * fraction, где fraction является дробной частью индекса, окружённого i и j.
  • нижний: i.
  • верхний: j.
  • ближайший: i или j, что ближе.
  • середина: (i + j) / 2.

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

keepdims : bool, необязательно

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

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

Возвращает:

percentile : скаляр или ndarray

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

См. также

mean, median, nanpercentile

Примечания

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

Примеры

>>> a = np.array([[10, 7, 4], [3, 2, 1]])
>>> a
array([[10,  7,  4],
       [ 3,  2,  1]])
>>> np.percentile(a, 50)
3.5
>>> np.percentile(a, 50, axis=0)
array([[ 6.5,  4.5,  2.5]])
>>> np.percentile(a, 50, axis=1)
array([ 7.,  2.])
>>> np.percentile(a, 50, axis=1, keepdims=True)
array([[ 7.],
       [ 2.]])
>>> m = np.percentile(a, 50, axis=0)
>>> out = np.zeros_like(m)
>>> np.percentile(a, 50, axis=0, out=out)
array([[ 6.5,  4.5,  2.5]])
>>> m
array([[ 6.5,  4.5,  2.5]])
>>> b = a.copy()
>>> np.percentile(b, 50, axis=1, overwrite_input=True)
array([ 7.,  2.])
>>> 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.percentile.html

Spec-Zone.ru

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