一个 numpy 二维数组的奇怪插值

Weird interpolation of a numpy 2D array

我有一堆 131 x 20 二维 numpy 数组形式的数据集,我正在尝试将它们内插为 131x131 的平方。我现在已经多次看过其他人的代码,但我仍然得到一些奇怪的结果。这是我的插值代码:

import numpy as np
import matplotlib.pyplot as plt
from scipy import interpolate

# bunch of code

# radarray.shape = (131, 20)

T0 = np.arange(0, radarray.shape[1], 1)
Z0 = np.arange(0, radarray.shape[0], 1)

t, z = np.meshgrid(T0, Z0)

f = interpolate.interp2d(t, z, radarray, kind='quintic')

T = np.linspace(0, radarray.shape[1], 131)
Z = np.arange(0, radarray.shape[0], 1)
radinterp = f(T, Z)
plt.imshow(radinterp, aspect='auto', interpolation='none')
plt.gca().invert_yaxis()
plt.savefig('interp')

radarray 的原始数据如下所示:

这是结果:

我试过切换插值方法和 radarray.shape 索引,但所有结果都只是一个绿色区域或这些与我的数据无关的奇怪的模糊正弦波。我哪里搞砸了?

你为什么不使用 skimage 的 resize

from skimage.transform import resize

radinterp = resize(radarray, (131, 131), anti_aliasing=True)

应该能帮到你。