Как рассчитать процентили в Python (с примерами)


N -й процентиль набора данных — это значение, которое отсекает первые n процентов значений данных, когда все значения отсортированы от наименьшего к наибольшему.

Например, 90-й процентиль набора данных — это значение, которое отсекает нижние 90 % значений данных от верхних 10 % значений данных.

Мы можем быстро вычислить процентили в Python, используя функцию numpy.percentile() , которая использует следующий синтаксис:

numpy.percentile (а, д)

куда:

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

В этом руководстве объясняется, как использовать эту функцию для расчета процентилей в Python.

Как найти процентили массива

Следующий код иллюстрирует, как найти различные процентили для заданного массива в Python:

import numpy as np

#make this example reproducible
np.random.seed (0)

#create array of 100 random integers distributed between 0 and 500
data = np.random.randint (0, 500, 100)

#find the 37th percentile of the array
np.percentile (data, 37)

173.26

#Find the quartiles (25th, 50th, and 75th percentiles) of the array
np.percentile (data, [25, 50, 75])

array([116.5, 243.5, 371.5])

Как найти процентили столбца DataFrame

В следующем коде показано, как найти значение 95-го процентиля для одного столбца pandas DataFrame:

import numpy as np 
import pandas as pd

#create DataFrame
df = pd.DataFrame({'var1': [25, 12, 15, 14, 19, 23, 25, 29, 33, 35],
 'var2': [5, 7, 7, 9, 12, 9, 9, 4, 14, 15],
 'var3': [11, 8, 10, 6, 6, 5, 9, 12, 13, 16]})

#find 90th percentile of var1 column
np.percentile (df.var1 , 95)

34.1

Как найти процентили нескольких столбцов DataFrame

В следующем коде показано, как найти значение 95-го процентиля для нескольких столбцов в кадре данных pandas:

import numpy as np 
import pandas as pd

#create DataFrame
df = pd.DataFrame({'var1': [25, 12, 15, 14, 19, 23, 25, 29, 33, 35],
 'var2': [5, 7, 7, 9, 12, 9, 9, 4, 14, 15],
 'var3': [11, 8, 10, 6, 6, 5, 9, 12, 13, 16]})

#find 95th percentile of each column
df.quantile (.95)

var1 34.10
var2 14.55
var3 14.65

#find 95th percentile of just columns var1 and var2
df[['var1', 'var2']]. quantile (.95)

var1 34.10
var2 14.55

Обратите внимание, что мы смогли использовать функцию pandas quantile() в приведенных выше примерах для вычисления процентилей.

Связанный: Как рассчитать процентили в R (с примерами)

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.