Come eseguire l'interpolazione lineare in python (con esempio)
L’interpolazione lineare è il processo di stima di un valore sconosciuto di una funzione tra due valori noti.
Dati due valori noti (x 1 , y 1 ) e (x 2 , y 2 ), possiamo stimare il valore y per un punto x utilizzando la seguente formula:
y = y 1 + (xx 1 )(y 2 -y 1 )/(x 2 -x 1 )
Possiamo usare la seguente sintassi di base per eseguire l’interpolazione lineare in Python:
import scipy. interpolate y_interp = scipy. interpolate . interp1d (x,y) #find y-value associated with x-value of 13 print (y_interp( 13 ))
L’esempio seguente mostra come utilizzare questa sintassi nella pratica.
Esempio: interpolazione lineare in Python
Supponiamo di avere i seguenti due elenchi di valori in Python:
x = [2, 4, 6, 8, 10, 12, 14, 16, 18, 20] y = [4, 7, 11, 16, 22, 29, 38, 49, 63, 80]
Possiamo creare un rapido grafico x rispetto a y:
import matplotlib. pyplot as plt
#create plot of x vs. y
plt. plot (x, y, ' -ob ')
Supponiamo ora di voler trovare il valore y associato a un nuovo valore x di 13 .
Possiamo usare il seguente codice per fare questo:
import scipy. interpolate
y_interp = scipy. interpolate . interp1d (x,y)
#find y-value associated with x-value of 13
print (y_interp( 13 ))
33.5
Il valore y stimato risulta essere 33,5 .
Se aggiungiamo il punto (13, 33.5) al nostro grafico, sembra corrispondere abbastanza bene alla funzione:
import matplotlib. pyplot as plt
#create plot of x vs. y
plt. plot (x, y, ' -ob ')
#add estimated y-value to plot
plt. plot (13, 33.5, ' ro ')
Possiamo usare questa formula esatta per eseguire l’interpolazione lineare per qualsiasi nuovo valore x.
Risorse addizionali
I seguenti tutorial spiegano come correggere altri errori comuni in Python:
Come correggere l’errore chiave nei Panda
Come risolvere il problema: ValueError: impossibile convertire float NaN in int
Come risolvere il problema: ValueError: non è stato possibile trasmettere gli operandi con le forme