首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AttributeError:“module”对象没有属性“”percentile“”

AttributeError:“module”对象没有属性“”percentile“”
EN

Stack Overflow用户
提问于 2013-04-16 10:09:17
回答 2查看 13.2K关注 0票数 2

我使用此函数从here计算百分位数

代码语言:javascript
复制
import numpy as np
a = [12, 3, 45, 0, 45, 47, 109, 1, 0, 3]
np.percentile(a, 25)

但是我得到了这个错误:

代码语言:javascript
复制
AttributeError: 'module' object has no attribute 'percentile'

我也试过了

代码语言:javascript
复制
import numpy.percentile as np

但是没有,我得到了同样的错误。

我的numpy版本是1.3.0,我试图升级,但似乎不能升级,我使用了:[sudo pip install --upgrade scipy][2],但我发现没有升级。

我的ubuntu版本9.10

我的python版本是: 2.6.4

我也尝试了一下numpy.percentile模块,我找到了这个here

代码语言:javascript
复制
>>> 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

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-04-16 10:15:21

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

你有没有尝试:

代码语言:javascript
复制
sudo pip install numpy==1.7.1 --upgrade

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

代码语言:javascript
复制
>>> import numpy
>>> print numpy.__version__

您还可以执行以下操作:

代码语言:javascript
复制
sudo pip freeze | grep numpy

Ubuntu9.10numpy包使用version 1.3.03。很可能安装1.7.0Vai pip版是成功的,但是您的机器默认使用python-numpy版本。您可以通过运行以下命令来删除:

代码语言:javascript
复制
sudo apt-get remove python-numpy
票数 9
EN

Stack Overflow用户

发布于 2020-08-21 17:35:09

请升级您的numpy包

代码语言:javascript
复制
pip install --upgrade numpy==1.19.1

代码语言:javascript
复制
sudo pip install --upgrade numpy==1.19.1
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16027625

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档