Использование tck = interpolate.bisplrep (x, y, z, kx = kx, ky = ky) для получения значений z с использованием массива значений x и y - PullRequest
0 голосов
/ 03 мая 2020

Я выполняю кубический c сплайн, используя прикрепленный код, и я могу напечатать z-значение для данного x- и y-значения. Как я могу расширить код, чтобы использовать массив значений для х и у? Я хотел бы сохранить выведенные z-значения в виде массива. Любая помощь будет оценена.

import pandas as pd
import numpy as np
import scipy.interpolate as interpolate

y = np.array(input_data['y'])
z = np.array(input_data['z'])
x = np.array(input_data['z'])

spline = interpolate.Rbf(x,y,z,function='thin_plate',smooth=5, episilon=5)

kx, ky = 3, 3 

tck = interpolate.bisplrep(x, y, z, kx=kx, ky=ky)

print(interpolate.bisplev(42, 2.06921949, tck))
"""
Edit: example data

"""

x_new = [42, 56, 89 , 313]
y_new = [2.06921949, 4.1590951, 3.85620473, 1.57373633]

tck = interpolate.bisplrep(x, y, z, kx=kx, ky=ky)

print(interpolate.bisplev(x_new, y_new, tck))


...