Я изо всех сил пытаюсь создать интерполяционную функцию для некоторых двухмерных данных, которые у меня есть. Мои данные не являются стандартными, поскольку каждое значение в массиве x соответствует уникальному массиву y. Например:
x = [0.1, 0.2]
y1 = [13.719, 10.488, 9.885, 9.704] #Corresponding to x=0.1
y2 = [13.34, 10.259, 9.275, 8.724] #Corresponding to x=0.2
z1 = [1395., 2209., 2411., 2555.] #Corresponding to y1
z2 = [1570., 2261., 2519., 2682.] #Corresponding to y2
В идеале я хотел бы сгенерировать функцию f (x, y), которая будет возвращать интерполированное значение z.
До сих пор мои единственные попытки были связаны с использованием:
from scipy.interpolate import interp2d
interpolation = interp2d(x, [y1, y2], [z1, z2])
Что неудивительно, что приводит к следующему сообщению об ошибке:
ValueError: x and y must have equal lengths for non rectangular grid
Я понимаю, почему яполучаю это сообщение и понимаю, что interp2d - это не та функция, которую я должен использовать, но я не уверен, куда идти.