例如,我有一个二维数据数组,其中一个维度上带有误差条,如下所示:
In [1]: numpy as np
In [2]: x = np.linspace(0,10,5)
In [3]: y = np.sin(x)
In [4]: y_er = (np.random.random(len(x))-0.5)*0.1
In [5]: data = np.vstack([x,y,y_er]).T
In [6]: data
array([[ 0.00000000e+00, 0.00000000e+00, -6.50361821e-03],
[ 2.50000000e+00, 5.98472144e-01, -3.69252108e-03],
[ 5.00000000e+00, -9.58924275e-01, -2.99042576e-02],
[ 7.50000000e+00, 9.37999977e-01, -7.66584515e-03],
[ 1.00000000e+01, -5.44021111e-01, -4.24650123e-02]])
如果我想使用scipy.interpolate.interp1d,如何格式化它只需要调用一次?我想避免这种重复的方法:
In [7]: import scipy.interpolate as interpolate
In [8]: new_x = np.linspace(0,10,20)
In [9]: interp_y = interpolate.interp1d(data[:,0], data[:,1], kind='cubic')
In [10]: interp_y_er = interpolate.i