我正在使用 scipy 0.17.1
和 numpy 1.11.1
。
我在尝试使用 interpolate
时遇到错误,即使子包 interpolate 应该包含在我的版本中 (docs)
import numpy as np
import scipy
x = np.linspace(0, 2*np.pi, 1000)
y = np.sin(x) + 0.01*np.random.randn(1, 1000)
y = scipy.interpolate.PchipInterpolator(x, y)
错误结果:
Traceback (most recent call last):
File "C:\Users\flabriol\AppData\Local\Continuum\Anaconda2\lib\site-packages\IPython\core\interactiveshell.py", line 2885, in run_code
exec(code_obj, self.user_global_ns, self.user_ns)
File "<ipython-input-110-7dfbae0fdab5>", line 5, in <module>
y = scipy.interpolate.PchipInterpolator(x, y)
AttributeError: 'module' object has no attribute 'interpolate'
我可以在不升级 scipy
的情况下使用 interpolate
模块吗?
最佳答案
根据 scipy 源 - 您需要显式导入子包:
Subpackages
Using any of these subpackages requires an explicit import. For example,
import scipy.cluster
.
所以改变(或添加)
import scipy.interpolate
应该为你解决它
关于python - scipy 0.17 中缺少插值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45634350/