Я изо всех сил пытаюсь выполнить простую линейную интерполяцию куба данных размера Nx*Ny*Nz в новый, который сохранял бы постоянные два других измерения, т.е. результирующий результат был бы Nxnew*Ny* НЗ. Кажется, что RegularGridInterpolator из scipy - это лучший вариант, хотя мне непонятно, как генерировать входные данные.
Код: Выделить всё
from scipy.interpolate import RegularGridInterpolator
import numpy as np
x = np.linspace(1,4,11)
y = np.linspace(4,7,22)
z = np.linspace(7,9,33)
V = np.zeros((11,22,33))
for i in range(11):
for j in range(22):
for k in range(33):
V[i,j,k] = 100*x[i] + 10*y[j] + z[k]
fn = RegularGridInterpolator((x,y,z), V)
pts = np.array([[[[2,6,8],[3,5,7]], [[2,6,8],[3,5,7]]]])
out = fn(pts)
print(out, out.shape)
Источник: https://stackoverflow.com/questions/781 ... with-scipy