numpy.percentile
-
numpy.percentile(a, q, axis=None, out=None, overwrite_input=False, interpolation='linear', keepdims=False)[source] -
Вычислить q-й процентиль данных по указанной оси.
Возвращает q-й процентиль(и) элементов массива.
Параметры: a : array_like
Вводной массив или объект, который может быть преобразован в массив.
q : float в диапазоне [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, whichever is nearest. - серединный:
(i + j) / 2.
Новое в версии 1.9.0.
keepdims : bool, необязательно
Если установлено в True, оси, которые были уменьшены, остаются в результате в качестве измерений с размером один. С этим параметром результат будет правильно транслироваться по отношению к исходному массиву
a.Новое в версии 1.9.0.
Возвращает: percentile : скаляр или ndarray
Если
q— единственный процентиль иaxis=None, то результат — скаляр. Если задано несколько процентилей, первая ось результата соответствует процентилям. Другие оси — это оси, которые остаются после уменьшенияa. Если входной массив содержит целые числа или числа с плавающей точкой, меньшиеfloat64, тип данных выходных данных —float64. В противном случае тип данных выходных данных совпадает с типом данных входных данных. Еслиoutуказан, возвращается этот массив.См. также
Примечания
Учитывая вектор
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)
- линейный:
© 2005–2019 NumPy Developers
Licensed under the 3-clause BSD License.
https://docs.scipy.org/doc/numpy-1.14.5/reference/generated/numpy.percentile.html