给出以下代码并假设x,y和z被正确地重新定义用于插值:
import numpy as np
import scipy as sp
x = np.arange(5,-5.5,0.5)
f = sp.interpolate.interp2d(x, y, z, kind='linear')
为什么最后一行会出现以下错误?
当我明确导入插值时,'module'对象没有属性'interpolate'
我解决了我的问题,如下所示:
from scipy import interpolate
然后像这样调用插值
interpolate.interp2d(x, y, z, kind='linear')
但我不明白为什么当我不必显式导入arange()时,我必须显式导入插值。根据下面的其他帖子和评论,scipy的组织方式与numpy不同,插值本身就是一个子模块(而arange()只是一个函数)。是吗?