sciPy stats.scoreatpercentile()函数| Python
scipy.stats.scoreatpercentile(a, score, kind='rank')
函数帮助我们计算输入数组给定百分位数的分数。
百分位数 = 50 的分数是中位数。如果所需的分位数位于两个数据点之间,我们会根据插值值在它们之间进行插值。
Parameters :
arr : [array_like] input array.
per : [array_like] Percentile at which we need the score.
limit : [tuple] the lower and upper limits within which to compute the percentile.
axis : [int] axis along which we need to calculate the score.
Results : Score at Percentile relative to the array element.
代码#1:
# scoreatpercentile
from scipy import stats
import numpy as np
# 1D array
arr = [20, 2, 7, 1, 7, 7, 34, 3]
print("arr : ", arr)
print ("\nScore at 50th percentile : ",
stats.scoreatpercentile(arr, 50))
print ("\nScore at 90th percentile : ",
stats.scoreatpercentile(arr, 90))
print ("\nScore at 10th percentile : ",
stats.scoreatpercentile(arr, 10))
print ("\nScore at 100th percentile : ",
stats.scoreatpercentile(arr, 100))
print ("\nScore at 30th percentile : ",
stats.scoreatpercentile(arr, 30))
输出:
arr : [20, 2, 7, 1, 7, 7, 34, 3]
Score at 50th percentile : 7.0
Score at 90th percentile : 24.2
Score at 10th percentile : 1.7
Score at 100th percentile : 34.0
Score at 30th percentile : 3.4
代码#2:
# scoreatpercentile
from scipy import stats
import numpy as np
arr = [[14, 17, 12, 33, 44],
[15, 6, 27, 8, 19],
[23, 2, 54, 1, 4, ]]
print("arr : ", arr)
print ("\nScore at 50th percentile : ",
stats.scoreatpercentile(arr, 50))
print ("\nScore at 50th percentile : ",
stats.scoreatpercentile(arr, 50, axis = 1))
print ("\nScore at 50th percentile : ",
stats.scoreatpercentile(arr, 50, axis = 0))
输出:
arr : [[14, 17, 12, 33, 44], [15, 6, 27, 8, 19], [23, 2, 54, 1, 4]]
Score at 50th percentile : 15.0
Score at 50th percentile : [ 17. 15. 4.]
Score at 50th percentile : [ 15. 6. 27. 8. 19.]