Python 如何使用线性插值扩展阵列
我想要的是将长度为m的数组扩展为长度为Python 如何使用线性插值扩展阵列,python,arrays,interpolation,Python,Arrays,Interpolation,我想要的是将长度为m的数组扩展为长度为n(n>m)的数组,并对缺失的值进行线性插值 例如,我想将这个数组[1,5,1,7]扩展为长度7的数组,结果应该是[1,3,5,3,1,5,7],其中粗体数字是线性插值的结果 在Python中有没有一种简单的方法可以做到这一点? 提前感谢。numpy的功能可以满足您的需要 例如: >>> xp = [1, 2, 3] >>> fp = [3, 2, 0] >>> np.interp(2.5, xp, fp
n(n>m)
的数组,并对缺失的值进行线性插值
例如,我想将这个数组[1,5,1,7]
扩展为长度7
的数组,结果应该是[1,3,5,3,1,5,7],其中粗体数字是线性插值的结果
在Python中有没有一种简单的方法可以做到这一点?
提前感谢。numpy的功能可以满足您的需要
例如:
>>> 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. ])
如果将数组[1,5,1,7]扩展到长度为6的数组,你想得到什么?你可以为你想要的写一个简单的逻辑,而不是找到一个“简单的方法”。那么它应该是[1,1+(5-1)*3/5,5+(1-5)*1/5,5+(1-5)*4/5,1+(7-1)*2/5,7]@Maytree23如果你知道你想得到什么,为什么不直接编写代码呢?@Pranav Maytree23可能只是在寻找一种类似蟒蛇的方法。