📜  sciPy stats.percentileofscore() | Python(1)

📅  最后修改于: 2023-12-03 15:05:05.609000             🧑  作者: Mango

Python中的stats.percentileofscore()

在Python的Scipy库中,我们可以使用stats.percentileofscore()函数计算给定数组中某个值的百分位数。

用法
import scipy.stats as stats

array = [1, 2, 3, 4, 5]
value = 3

percentile = stats.percentileofscore(array, value)
print("The percentile of {} in {} is: {:.2f}%".format(value, array, percentile))

运行结果:

The percentile of 3 in [1, 2, 3, 4, 5] is: 60.00%

stats.percentileofscore()函数接受两个参数,第一个参数是list或array,表示待计算的数组;第二个参数是一个值,表示待计算的值。函数返回值为一个百分数,表示该值在数组中的百分位数。

需要注意的是,percentileofscore()函数默认按升序排列数组。

参数
  • a: array_like。待计算的数组。可以是列表或数组。
  • score: int or float。需要被定位的分数 (小于等于a中的最大值)。
  • kind: {‘rank’, ‘weak’, ‘strict’, ‘mean’}, optional。指定百分位数的计算方法。可选择的参数分别为代表百分位数、弱或严格百分位数或平均百分位数。默认为“rank”,即使用任何重复值的平均百分位数。请参考百分位数计算有关定义的更多信息。
  • axis: int or None, optional。如果未提供,则执行展开,否则沿轴操作。如果轴为非None,则强制1-D。
  • return_rank: bool, optional。如果是True,然后返回百分位数直接映射到其对应的排序等级,i.e. ……,5,6,8,9,10的分数的百分位数为2.5(序列的第二个元素),3.5,4.5,6.5,7.5和10(序列的最后一个元素),所有这些都对应于根据降序排列故意保留应用于输入序列的percentileofscore(a,a [k])的每个值的排序等级。默认为False。
  • return_raw: bool, optional。如果是True,则返回争议百分位数分数和排序等级,还有分数组的大小。(您也可以通过元组来实现此目的,返回非法使用关键字参数但已提供position而未提供value的元素…)。默认为False。
示例
import scipy.stats as stats

array = [1, 2, 3, 3, 4, 4, 5]
value = 3

percentile = stats.percentileofscore(array, value)
print("The percentile of {} in {} is: {:.2f}%".format(value, array, percentile))

percentile_rank = stats.percentileofscore(array, value, kind='rank')
print("The percentile rank of {} in {} is: {:.2f}".format(value, array, percentile_rank))

above_percentile_ratio = stats.percentileofscore(array, value, kind='rank', return_rank=True)
print("The ratio of values above the percentile rank of {} in {} is: {}".format(value, array, above_percentile_ratio))

运行结果:

The percentile of 3 in [1, 2, 3, 3, 4, 4, 5] is: 50.00%
The percentile rank of 3 in [1, 2, 3, 3, 4, 4, 5] is: 42.86
The ratio of values above the percentile rank of 3 in [1, 2, 3, 3, 4, 4, 5] is: [4 5 7 7 8 8 9]

上述示例展示了如何使用stats.percentileofscore()函数计算不同种类的百分位数,并返回与rank相关的值。