问题:如何用相同的一维数组对二维数组的每一行进行线性插值?
我有两组 x 坐标和一组 y 坐标矩阵,我想在没有循环的情况下执行此操作:
for k in range(len(y[:,0]))
y_want = np.interp(x_want,x_have,y_have[k,:])
y_new.append(y_want)
是否有内置的 numpy 函数可以执行此操作?
最佳答案
使用 scipy.interpolate.interp1d:
import numpy as np
from scipy.interpolate import interp1d
import matplotlib.pyplot as plt
x=np.linspace(0,1,11)
y=np.vstack((np.sin(x),np.cos(x),np.log1p(x)))
xi=np.linspace(0,1,101)
intf= interp1d(x,y,axis=1)
yi=intf(xi)
plt.ioff()
plt.plot(x,y.T,'x',
xi,yi.T)
plt.show()
关于python - 用相同的一维数组插入二维数组的每一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23719021/