Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使用线性插值扩展阵列_Python_Arrays_Interpolation - Fatal编程技术网

Python 如何使用线性插值扩展阵列

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

我想要的是将长度为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)
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可能只是在寻找一种类似蟒蛇的方法。