我有两个一维numpy数组:x和y,其中x保持样本y在x轴上的位置.假设x跨越minX和maxX,我想定期对两个数组进行采样,例如np.linspace(minX,maxX,1000).
我该如何在numpy中做到这一点?一维插值可以解决这个问题吗?
解决方法:
np.interp执行一维线性插值:
newx = np.linspace(minX, maxX, 1000)
newy = np.interp(newx, x, y)
或者,您可以使用scipy.interpolate.interp1d插入样条曲线.例如,kind =’cubic’给您三阶样条插值:
import scipy.interpolate as interpolate
newx = np.linspace(minX, maxX, 1000)
newy = interpolate.interp1d(x, y, kind='cubic')(newx)