我用这个函数从这里计算百分位数:

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 0.5 percentile

谁能帮助我解释为什么在这些情况下会发生这种情况?

===============>>#1 票数:7 已采纳

版本1.5.x中添加了percentile函数。 您需要升级到至少该版本。

你试过了吗:

sudo pip install numpy==1.7.1 --upgrade

要检查您正在运行的版本,请启动python控制台并运行:

>>> import numpy
>>> print numpy.__version__

你也可以这样做:

sudo pip freeze | grep numpy

Ubuntu 9.10 numpy软件包使用1.3.03版本 安装版本1.7.0 vai pip很可能是成功的,但是你的机器默认为python-numpy版本。 您可以通过运行以下命令删除:

sudo apt-get remove python-numpy

  ask by mongotop translate from so

未解决问题?本站智能推荐: