我使用这个函数从这里计算百分位数:
import numpy as np
a = [12, 3, 45, 0, 45, 47, 109, 1, 0, 3]
np.percentile(a, 25)
但我得到这个错误:
AttributeError: 'module' object has no attribute 'percentile'
我也试过
import numpy.percentile as np
但我没有得到同样的错误。
我的 numpy 版本是 1.3.0 我尝试升级,但似乎我不会使用它:[sudo pip install --upgrade scipy][2]
但我发现没有升级。
我的 ubuntu 9.10 版
我的python版本是:2.6.4
我还尝试绕过 numpy.percentile 模块,我在这里找到了这个:
>>> def percentile(N, P):
... n = int(round(P * len(N) + 0.5))
... if n > 1:
... return N[n-2]
... else:
... return 0
...
>>> a = [1, 23, 5, 45, 676, 2, 0, 4,3]
>>> a = sorted(a)
>>> a
[0, 1, 2, 3, 5, 4, 23, 45, 676]
#When I call the function using
>>> percentile(a,0.5)
3
但是当我尝试0.5 percentile
手动查找时,我发现5
谁能帮我解释一下为什么在这些情况下会发生这种情况?