考虑以下 Python 代码:
In [1]: import numpy as np
In [2]: import scipy.stats as stats
In [3]: ar = np.array([0.8389, 0.5176, 0.1867, 0.1953, 0.4153, 0.6036, 0.2497, 0.5188, 0.4723, 0.3963])
In [4]: x = ar[-1]
In [5]: stats.percentileofscore(ar, x, kind='strict')
Out[5]: 30.0
In [6]: stats.percentileofscore(ar, x, kind='rank')
Out[6]: 40.0
In [7]: stats.percentileofscore(ar, x, kind='weak')
Out[7]: 40.0
In [8]: stats.percentileofscore(ar, x, kind='mean')
Out[8]: 35.0
kind参数表示对结果分数的解释。
现在,当我对相同数据使用 Excel 的 PERCENTRANK 函数时,我得到 0.3333。这似乎是正确的,因为有 3 个值小于 x=0.3963。
有人可以解释为什么我得到不一致的结果吗?