我有一个大约 4000 个点的数据集(恒星光谱)。我想用这个有近 17000 个点的新列表插入x
和y
数据(相同长度) 。x_new
我发现numpy.interp
它可以完成这项工作,除了它是分段线性插值。我希望它是光滑的。
有什么建议么?
我有一个大约 4000 个点的数据集(恒星光谱)。我想用这个有近 17000 个点的新列表插入x
和y
数据(相同长度) 。x_new
我发现numpy.interp
它可以完成这项工作,除了它是分段线性插值。我希望它是光滑的。
有什么建议么?
scipy.interpolate.interp1d有一个可以设置为例如的参数。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 插值教程,可能会有所帮助。