Процентиль — это математический критерий, используемый в статистике, предлагающий значение, ниже которого падает данный процент в группе наблюдений.
Что такое функция np.percentile() в Python?
np.percentile() в Python — это метод в массиве numpy, используемый для вычисления i-го процентиля входных данных, предоставленных с использованием массивов вдоль указанной оси.
i-й процентиль набора данных — это значение, при котором i-й процент данных находится ниже него. Используя метод np centile(), вы можете вычислить процентиль в Python.
Для лучшего понимания мы можем рассмотреть студента, который набирает 90 процентилей из 100, и тогда это означает, что из 100 студентов этот конкретный студент превосходит 90 студентов, и они ниже его.
Синтаксис
|
1 |
numpy.percentile(arr, i, axis=None, out=None) |
Параметры
Функция numpy.percentile() принимает не более четырех параметров:
- arr: array_like, входной массив или объект, который можно преобразовать в массив, подобный списку.
- i: значение процентиля, оно должно быть в диапазоне от 0 до 100 (включая 0 и 100).
- axis: это необязательный параметр. Он представляет собой ось, вдоль которой мы хотим вычислить процентиль. Если значение оси не задано, то по умолчанию предполагается, что входной массив сглажен, а затем вычисляется значение процентиля (общая ось). Так, например, если мы установим ось = 0, то процентиль вычисляется по столбцу, а если ось = 1, то процентиль вычисляется по строке.
- out: ndarray, это тоже необязательный параметр. Он представляет собой необязательный результирующий массив, в котором мы хотим получить результат. Следует отметить, что форма этого массива должна соответствовать ожидаемому результату.
Возвращаемое значение
Он возвращает скаляр или ndarray. Метод возвращает значение i-го процентиля. Скалярное значение возвращается, когда для значения оси установлено значение None; в противном случае, когда ось указана, возвращается n-мерный массив со значениями процентилей вдоль указанной оси.
Примеры с методом numpy.percentile()
numpy.percentile() с одномерным массивом или вектором
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
# importing the numpy module import numpy as np # Making a list lst = [16, 18, 22, 14, 22, 23, 28, 17, 19, 15, 16, 22, 14, 16, 18] print("Given list is:\n", lst) # Calculating percentile value in the list res = np.percentile(lst, 35) print("35th percentile of given list is: ", res) # Creating an array arr = np.array([100, 200, 150, 125, 175, 150]) print("\nArray elements are:\n", arr) # Calculating percentile value in the list output = np.percentile(arr, 75) print("75th percentile of given array is: ", output) |
Выход
|
1 2 3 4 5 6 7 |
Given list is: [16, 18, 22, 14, 22, 23, 28, 17, 19, 15, 16, 22, 14, 16, 18] 35th percentile of given list is: 16.0 Array elements are: [100 200 150 125 175 150] 75th percentile of given array is: 168.75 |
Объяснение
В приведенной выше программе мы взяли список с именем lst , состоящий из нескольких случайных целых чисел, затем мы вычислили значение 35-го процентиля в списке. Точно так же берется другой массив с именем arr, после чего мы отображаем значение 75-го процентиля в массиве.
Программа для демонстрации работы метода numpy.percentile() с многомерным массивом
См. следующий код.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
# importing the numpy module import numpy as np # Making a 2D array arr = np.array([[10, 20, 30], [40, 50, 60], [70, 80, 90]]) print("Elements in the 2D array are:\n", arr) out = np.percentile(arr, 50) print("Calculating 50th percentile without specifying axis: ", out) out0 = np.percentile(arr, 50, axis=0) print("Calculating 50th percentile along axis 0: ", out0) out1 = np.percentile(arr, 50, axis=1) print("Calculating 50th percentile along axis 1: ", out1) |
Выход
|
1 2 3 4 5 6 7 |
Elements in the 2D array are: [[10 20 30] [40 50 60] [70 80 90]] Calculating 50th percentile without specifying axis: 50.0 Calculating 50th percentile along axis 0: [40. 50. 60.] Calculating 50th percentile along axis 1: [20. 50. 80.] |
Объяснение
В программе мы взяли двумерный массив с именем arr, а затем отобразили его содержимое внутри массива. Вычисление значения 50-го процентиля заданного массива в трех режимах:
Во-первых, когда мы не указали какую-либо ось, результат становится скалярным значением, потому что по умолчанию входной массив должен быть сглажен.
Во-вторых, когда мы вычисляем значение процентиля по оси 0, значение процентиля вычисляется вместе со столбцами. Его результат показан с помощью out0.
Наконец, когда мы вычисляем значение процентиля по оси 1, значение процентиля вычисляется по строкам. Его результат показан с помощью out1.
