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

问题描述 投票:0回答:1

假设我有这样的3-d numpy数组:

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

我需要调整它以适应(14, 20, 20)的形状。这意味着第一个维度使用插值方法分别从(10, 10)调整为(20, 20)

我怎么能这样做?

python numpy interpolation
1个回答
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)
© www.soinside.com 2019 - 2024. All rights reserved.