import scipy.ndimage as nd
X = np.arange(100).reshape(10, 10).astype(float)
y = np.random.rand(10) * (X.shape[1] - 1)
r = np.arange(X.shape[0])
result = nd.map_coordinates(X, [r, y], order=1, mode='nearest')
Интерполировать каждую строку в матрице значений x