scipy.interpolate.interp1d有一个
我有一个大约有4000个点的数据集(恒星光谱)。我想用这个新的列表x_new
来插值x
和y
数据(相同的长度),它有将近17000个点。
我发现numpy.interp
可以完成这项工作,只是它是一个分段线性插值。我希望它是平滑的。
有什么建议吗?
kind
参数,可以设置为例如"cubic"
。
提供你想直接插值到这个函数的x值,你这样做:
>>> x = np.arange(0, 10)
>>> y = np.exp(-x / 3.0)
>>> f = interpolate.interp1d(x, y, "cubic")
>>> i = np.arange(0.5, 9.5, 1)
>>> f(i)
array([ 0.85826566, 0.61497421, 0.44064828, 0.31573829, 0.22623637,
0.16210544, 0.11615363, 0.08322771, 0.05963526])
这是一个scipy插值教程,可能会有所帮助。