Sto utilizzando scipy.interpolate.interp2d
per creare una funzione di interpolazione per una superficie. Quindi ho due array di dati reali per cui voglio calcolare i punti interpolati. Se passo i due array alla funzione interp2d
ottengo una matrice di tutti i punti, non solo le coppie di punti.SciPy interp2D per coppie di coordinate
mia soluzione a questo è di comprimere le due matrici in una lista di coppie di coordinate e passare questo alla funzione di interpolazione in un ciclo:
f_interp = interpolate.interp2d(X_table, Y_table,Z_table, kind='cubic')
co_ords = zip(X,Y)
out = []
for i in range(len(co_ords)):
X = co_ords[i][0]
Y = co_ords[i][1]
value = f_interp(X,Y)
out.append(float(value))
mia domanda è, c'è un migliore (più elegante, Pythonico?) Modo di raggiungere lo stesso risultato?
Grazie Andras, la lista comp funziona alla grande. Daremo un'occhiata alla griddata quando avrò più tempo - ho quello per cui ho bisogno di lavorare per ora, quindi posso guardare un po 'più tardi la velocità. Ben – BMichell