如何使用线性插值扩展数组
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. ])
我想要的是将长度为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. ])