scipy.stats.

percentileofscore#

scipy.stats.percentileofscore(a, score, kind='rank', nan_policy='propagate')[源代码]#

判定给定得分相对于一组得分的百分点排名。

例如,percentileofscore 的 80% 意味着 a 中的 80% 得分低于给定的得分。对于间隙或平分的情况,具体定义取决于可选关键字 kind

参数:
a类似于数组

score 比较的一维数组。

score类似于数组

要计算其百分位的得分。

kind{‘rank’, ‘weak’, ‘strict’, ‘mean’},可选

指定结果得分含义。可用的选项有(默认为 ‘rank’)

  • ‘rank’:得分的平均百分比排名。对于多个匹配结果,将所有匹配得分的百分比排名取平均。

  • “弱”: 此种类对应于累积分布函数的定义。80% 的概率等级分表示 80% 的值均小于或等于所提供的分数。

  • “严格”: 类似于“弱”,但仅计算严格小于给定分数的值。

  • “平均值”: “弱”和“严格”分数的平均值,通常用于测试。参见 https://en.wikipedia.org/wiki/Percentile_rank

nan_policy{‘传播’、‘抛出’、‘忽略’},可选

指定如何处理 nana 中的值。可用选项如下(默认为“传播”)

  • “传播”: 返回 nan(对于 score 中的每个值)。

  • “抛出”: 抛出错误

  • “忽略”: 该计算忽略 nan 值

返回:
pcos浮点

相对于 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])