如何使用线性插值扩展数组

How to extend an array with linear interpolation

我想要的是将长度为m的数组扩展为长度为n (n>m)的数组,并对缺失值进行线性插值

比如我想把这个数组[1,5,1,7]扩展成一个长度为7的数组,结果应该是[1,3,5 ,3,1,5,7],其中粗体数字是线性插值的结果。

在 Python 中有没有简单的方法来做到这一点? 提前致谢。

numpy 的 interp 函数可以做你想做的事情。

示例:

>>> xp = [1, 2, 3]
>>> fp = [3, 2, 0]
>>> np.interp(2.5, xp, fp)
1.0
>>> np.interp([0, 1, 1.5, 2.72, 3.14], xp, fp)
array([ 3. ,  3. ,  2.5 ,  0.56,  0. ])