0

我有一个大约 4000 个点的数据集(恒星光谱)。我想用这个有近 17000 个点的新列表插入xy数据(相同长度) 。x_new

我发现numpy.interp它可以完成这项工作,除了它是分段线性插值。我希望它是光滑的。

有什么建议么?

4

1 回答 1

2

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 插值教程,可能会有所帮助。

于 2012-08-02T08:10:00.423 回答