调整数组大小并填充插值

时间:2019-03-15 16:25:24

标签: python numpy scipy

这应该与重新密封图像类似,假设具有此向量,

x = np.array([10,50,40,20])

我需要将其缩放到10号,并使用插值法填充缺失值。

执行此操作的任何numpyscipy函数吗?

1 个答案:

答案 0 :(得分:1)

一种方法是使用scipy.ndimage.interpolation.zoom。将使用spline interpolation zooming。为了使用它,您需要提供一个缩放因子,在这种情况下,假设您想要一个大小为10的数组,它应该为10/len(x)

from scipy.ndimage import interpolation

x = np.array([10,50,40,20])
i = 10
z = i / len(x)
# 2.5

x_int = interpolation.zoom(x,z)

输出

array([10, 18, 35, 50, 54, 49, 40, 30, 23, 20])