📅  最后修改于: 2023-12-03 15:05:05.609000             🧑  作者: Mango
在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()函数默认按升序排列数组。
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相关的值。