gpt4 book ai didi

python - 为什么我不能直接导入statsmodels?

转载 作者:太空宇宙 更新时间:2023-11-03 14:17:44 24 4
gpt4 key购买 nike

我当然遗漏了一些非常明显的东西,但为什么这样做有效:

a = [0.2635,0.654654,0.365,0.4545,1.5465,3.545]

import statsmodels.robust as rb
print rb.scale.mad(a)
0.356309343367

但这不是:

import statsmodels as sm
print sm.robust.scale.mad(a)
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-5-1ce0c872b0be> in <module>()
----> 1 print statsmodels.robust.scale.mad(a)

AttributeError: 'module' object has no attribute 'robust'

最佳答案

详细答案参见 http://www.statsmodels.org/stable/importpaths.html

Statsmodels 有意大部分是空的 __init__.py 但通过 api.py 有一个并行导入集合。

交互式工作的推荐导入 import statsmodels.api as sm 导入几乎所有的 statsmodels、numpy、pandas 和 patsy,以及大部分的 scipy。这在冷启动时很慢。

如果我们只想导入 statsmodels 的特定部分,那么我们不需要导入所有这些额外的部分。拥有空的 __init__.py 意味着我们可以只导入一个模块(这当然会导入该模块的依赖项)。

例如from statsmodels.robust.scale import mad将 statmodels.robust scale 导入为 smscalesmscale.mad(...)

(小警告:如果内部结构发生变化,一些非常低级别的导入可能不会始终保持向后兼容。但是,一般策略是在保持旧访问结构的同时在一两个版本中弃用函数。)

关于python - 为什么我不能直接导入statsmodels?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31864749/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com