percentileofscore#
- scipy.stats.percentileofscore(a, score, kind='rank', nan_policy='propagate')[источник]#
Вычисление процентильного ранга оценки относительно списка оценок.
A
percentileofscoreнапример, 80% означает, что 80% оценок в a ниже заданного значения. В случае пропусков или совпадений, точное определение зависит от необязательного ключевого слова, kind.- Параметры:
- aarray_like
Одномерный массив, к которому score сравнивается.
- scorearray_like
Оценки, для которых вычисляются процентили.
- kind{‘rank’, ‘weak’, ‘strict’, ‘mean’}, опционально
Определяет интерпретацию получаемой оценки. Доступны следующие варианты (по умолчанию 'rank'):
'rank': Средний процентный ранг оценки. В случае нескольких совпадений усредняется процентный ранг всех подходящих оценок.
‘weak’: Этот тип соответствует определению кумулятивной функции распределения. Процентиль 80% означает, что 80% значений меньше или равны предоставленному значению.
‘strict’: Аналогично “weak”, за исключением того, что учитываются только значения, строго меньшие заданного балла.
‘mean’: Среднее значение «слабых» и «строгих» оценок, часто используемое в тестировании. См. https://en.wikipedia.org/wiki/Percentile_rank
- nan_policy{'propagate', 'raise', 'omit'}, опционально
Определяет, как обрабатывать nan значения в a. Доступны следующие опции (по умолчанию 'propagate'):
‘propagate’: возвращает nan (для каждого значения в score).
‘raise’: вызывает ошибку
'omit': выполняет вычисления, игнорируя значения nan
- Возвращает:
- pcosfloat
Процентильная позиция оценки (0-100) относительно a.
Смотрите также
Примеры
Три четверти заданных значений лежат ниже заданной оценки:
>>> import numpy as np >>> from scipy import stats >>> stats.percentileofscore([1, 2, 3, 4], 3) 75.0
При нескольких совпадениях обратите внимание, как усредняются оценки двух совпадений, 0.6 и 0.8 соответственно:
>>> stats.percentileofscore([1, 2, 3, 3, 4], 3) 70.0
Только 2/5 значений строго меньше 3:
>>> stats.percentileofscore([1, 2, 3, 3, 4], 3, kind='strict') 40.0
Но 4/5 значений меньше или равны 3:
>>> stats.percentileofscore([1, 2, 3, 3, 4], 3, kind='weak') 80.0
Среднее между слабой и строгой оценками:
>>> stats.percentileofscore([1, 2, 3, 3, 4], 3, kind='mean') 60.0
Поддерживаются массивы оценок (любой размерности):
>>> stats.percentileofscore([1, 2, 3, 3, 4], [2, 3]) array([40., 70.])
Входные данные могут быть бесконечными:
>>> stats.percentileofscore([-np.inf, 0, 1, np.inf], [1, 2, np.inf]) array([75., 75., 100.])
Если a пуст, тогда результирующие процентили все nan:
>>> stats.percentileofscore([], [1, 2]) array([nan, nan])