Я хочу интерполировать матрицу со случайными пропущенными столбцами.
Я создал матрицу со случайными записями (может быть изображением), обнулел некоторые столбцы, и они попытались интерполировать по обнуленным столбцам.
import numpy as np
from scipy.interpolate import griddata
l = 2000
c = 340
tdgn = np.random.rand(l, c) #array with 2000 lines and 240 columns, or some grayscale image, binary file... np.load(...)
#sort some column indexes to "decimate"
maxindex=tdgn.shape[1]
p_dec = 0.3
index = np.arange(maxindex)
index_dec = np.sort(np.random.choice(maxindex, int(np.round(maxindex*p_dec)), replace=False))
index_nondec = np.array(list(filter(lambda x: x not in index_dec, index)))
#decimate
tdgn_dec = np.copy(tdgn)
tdgn_dec[:, index_nondec] = 0
#grid points to interpolate
grid_coods_dec_x, grid_coods_dec_y = np.meshgrid(np.arange(tdgn_dec.shape[0]), index_dec )
grid_coods_x, grid_coods_y = np.meshgrid(np.arange(tdgn.shape[0]), np.arange(tdgn.shape[1]) )
#interpolate
tdgn_interp = griddata( (grid_coods_dec_x, grid_coods_dec_y), tdgn[ grid_coods_dec_x, grid_coods_dec_y], (grid_coods_x, grid_coods_y), method='linear')
'tdgn_interp' должен иметь то же измерение, что и 'tdgn_dec', но его обнуленные значения должны быть как можно ближе к исходной матрице 'tdgn'.
Но, "ValueError: неверная форма для точек входных данных" вернулась ...