考虑以下Python代码:Python的SciPy的统计percentilofscore
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
的样参数表示导致分数的解释。
现在,当我使用Excel的PERCENTRANK函数和相同的数据时,我得到了0.3333。这似乎是正确的,因为有3个值小于x = 0.3963。
有人可以解释为什么我得到不一致的结果吗?
我不认为1/3是一个长度为10的输入数组的合理结果。(注意''在[6]'可能使用'kind ='rank''。我认为你没有两个不同的结果具有相同的参数。) –
你说得对,我在'In [6]'中使用'kind ='rank''。复制/粘贴错误。我编辑了这篇文章。 –
好吧,正如我之前所说的:我认为你展示的所有结果都符合预期,但Excel的结果很奇怪。由于我不知道你在Excel中做了什么,我不能评论奇怪的结果。 –