scipy.stats.
percentileofscore#
- scipy.stats.percentileofscore(a, score, kind='rank', nan_policy='propagate')[源代码][源代码]#
计算一个分数在一组分数中的百分位排名。
一个
percentileofscore
值,例如 80%,意味着在 a 中 80% 的分数低于给定的分数。在存在间隔或并列的情况下,确切的定义取决于可选的关键字 kind。- 参数:
- aarray_like
一个与 score 进行比较的 1-D 数组。
- 分数array_like
用于计算百分位数的分数。
- 种类{‘rank’, ‘weak’, ‘strict’, ‘mean’}, 可选
指定结果分数的解释。以下选项可用(默认是’rank’):
‘rank’: 分数的平均百分比排名。 如果有多个匹配项,则取所有匹配分数的百分比排名的平均值。
‘weak’: 这种类型对应于累积分布函数的定义。80% 的百分位数意味着 80% 的值小于或等于提供的分数。
‘strict’: 类似于“weak”,但仅计算严格小于给定分数的值。
‘mean’: “弱”和“严格”分数的平均值,常用于测试。参见 https://en.wikipedia.org/wiki/Percentile_rank
- nan_policy{‘propagate’, ‘raise’, ‘omit’}, 可选
指定如何处理 a 中的 nan 值。以下选项可用(默认是 ‘propagate’):
‘propagate’: 返回 nan(对于 score 中的每个值)。
‘raise’: 抛出一个错误
‘omit’: 执行计算时忽略 nan 值
- 返回:
- 多囊卵巢综合征浮动
相对于 a 的分数的百分位位置(0-100)。
示例
给定值的四分之三低于给定分数:
>>> 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])