HAN*_*TOR 2 python scipy python-2.7 anaconda
我正在尝试使用线性回归scipy.stats.linregress().但是,当我运行我的脚本时,我收到错误消息
AttributeError: 'module' object has no attribute 'stats'*
Run Code Online (Sandbox Code Playgroud)
我正在使用Anaconda python 2.7发行版,在其文档中说要安装模块.Anaconda文档
在python交互式解释器中,我可以导入scipy模块,但无法找到统计信息.当我抬头看__version__它说0.14,哪个应该有stats模块..
我真的无法猜到为什么统计数据不可用..
这个错误:
AttributeError: 'module' object has no attribute 'stats'
Run Code Online (Sandbox Code Playgroud)
意味着它的意思.没有名为属性stats中scipy的模块.
不是因为磁盘上不存在这样的东西,而是因为没有导入过这样的东西 - 因为你甚至都没想过导入它.
scipy是一个包.正如Python教程所解释的那样,导入包不会导入其所有子模块.
有些软件包会__init.py__自动导入一些或所有软件包.*但这样做不是一个好主意scipy,因为它们有很多,所以导入所有软件包需要一些时间,通常你只需要一两个在给定的项目中.
所以,你只需要这样做:
import scipy.stats
Run Code Online (Sandbox Code Playgroud)
*还有一些情况,比如os伪造包但不是,所以你可以在os.path不导入它的情况下使用,或者像pyobjc这样的情况为他们的模块创建特殊的占位符对象,在首次访问时自动导入真实模块.