我正在尝试将函数InterpolatedUnivariateSpline用作:
from scipy.interpolate import InterpolatedUnivariateSpline
A = np.array([1,2,3,4,5])
B = np.array([11,34,56,78,19])
C = np.random.normal(0, 1, (500, 30))
model = InterpolatedUnivariateSpline(A, B, k = 1)
C2 = model(C) #fails with error object too deep for desired array
C2 = model(C[:,0]) #works but is not useful as I need inter-/extra-polation for entire C
那么,我如何将该函数应用于数组C的所有元素
编辑:scipy版本:0.13.2
答案 0 :(得分:1)
如果我理解正确,你可以使用列表理解:
C2 = [model(i) for i in C]
它将运行" model"在所有元素上并返回列表
答案 1 :(得分:1)
将您的scipy
升级到版本0.16.1,它将适用于您的多维数组,即:
C2 = model(C)
作品。