在特定轴上调整大小和内插ndarray

时间:2019-03-22 09:14:24

标签: python numpy interpolation

假设我有3-d numpy数组,如下所示:

arr = np.random.randn(14,10,10)

我需要将其调整为(14, 20, 20)的形状。这意味着第一维通过插值方法从(10, 10)更改为(20, 20)

我该怎么办?

1 个答案:

答案 0 :(得分:1)

对于这类任务,方便的工具是scipy.ndimage.interpolation.zoom

这将是resizing数组,并使用spline interpolation对其进行插值。为了使用它,您需要提供一个缩放因子,在这种情况下应为[1,2,2]。这将指定您希望沿最后两个轴的缩放比例为2

from scipy.ndimage import interpolation

arr = np.random.randn(14,10,10)
new_arr = interpolation.zoom(arr,[1,2,2])

print(new_arr.shape)
# (14, 20, 20)