Lineare Interpolation ist der Prozess der Schätzung eines unbekannten Werts einer Funktion zwischen zwei bekannten Werten.

Bei zwei bekannten Werten (x 1, y 1 ) und (x 2, y 2 ) können wir den y-Wert für einen bestimmten Punkt x mithilfe der folgenden Formel schätzen:

y = y 1 + (xx 1 )(y 2 - y 1 )/(x 2 - x 1 )

Wir können die folgende grundlegende Syntax verwenden, um eine lineare Interpolation in Python durchzuführen:

import scipy.interpolate

y_interp = scipy.interpolate.interp1d(x, y)

#finde den y-Wert, der dem x-Wert von 13 zugeordnet ist
print(y_interp(13))

Das folgende Beispiel zeigt, wie Sie diese Syntax in der Praxis verwenden können.

Beispiel: Lineare Interpolation in Python

Angenommen, wir haben die folgenden zwei Wertelisten in Python:

x = [2, 4, 6, 8, 10, 12, 14, 16, 18, 20]
y = [4, 7, 11, 16, 22, 29, 38, 49, 63, 80]

Wir können ein schnelles Diagramm x vs. y erstellen:

import matplotlib.pyplot as plt

#erstelle ein Diagramm von x vs. y
plt.plot(x, y, '-ob')

Interpo

Angenommen, wir möchten den y-Wert ermitteln, der einem neuen x-Wert von 13 zugeordnet ist.

Dazu können wir folgenden Code verwenden:

import scipy.interpolate
y_interp = scipy.interpolate.interp1d(x, y)

#finde den y-Wert, der dem x-Wert von 13 zugeordnet ist
print(y_interp(13))

33.5

Der geschätzte y-Wert beträgt 33,5.

Wenn wir den Punkt (13, 33.5) zu unserem Diagramm hinzufügen, scheint er ziemlich gut mit der Funktion übereinzustimmen:

import matplotlib.pyplot as plt

#erstelle ein Diagramm von x vs. y
plt.plot(x, y, '-ob')

#Geschätzten y-Wert zum Diagramm hinzufügen
plt.plot(13, 33.5, 'ro')

Interpo

Wir können diese genaue Formel verwenden, um eine lineare Interpolation für jeden neuen x-Wert durchzuführen.

Zusätzliche Ressourcen

Die folgenden Tutorials erklären, wie Sie andere häufige Fehler in Python beheben:

So beheben Sie KeyError in Pandas
Behebung: ValueError: Float NaN kann nicht in Integer konvertiert werden
Behebung: ValueError: Operanden konnten nicht zusammen mit Shapes übertragen werden

Statistik: Der Weg zur Datenanalyse

* Amazon Affiliate Link


Das könnte Sie auch interessieren: