Pandas DataFrame DataFrame.interpolate()-Funktion
-
Syntax von
Pandas.DataFrame.interpolate(): -
Beispiel-Codes: Interpolieren Sie alle
NaN-Werte inDataFramemit der MethodeDataFrame.interpolate() -
Beispielcodes:
DataFrame.interpolate()Methode Mit dem Parametermethod -
Beispiel-Codes: Pandas
DataFrame.interpolate()Methode mitaxisParameter zur Interpolation entlang derReiheAchse -
Beispielcodes:
DataFrame.interpolate()Methode mitlimitParameter -
Beispielcodes:
DataFrame.interpolate()Methode mitlimit_directionParameter -
Interpolieren Sie Zeitreihendaten mit der Methode
DataFrame.interpolate()
Die Funktion Python Pandas DataFrame.interpolate() füllt NaN-Werte im DataFrame unter Verwendung einer Interpolationstechnik.
Syntax von Pandas.DataFrame.interpolate():
DataFrame.interpolate(
method="linear",
axis=0,
limit=None,
inplace=False,
limit_direction="forward",
limit_area=None,
downcast=None,
**kwargs
)
Parameter
method |
linear, time, index, value, nearst, zero, slinear, quadratic, cubic, barycentric, krogh, polynomial, spline, piecewise_polynomial, from_derivatives, pchip, akima oder None. Methode zur Interpolation von NaN-Werten. |
axis |
Interpolieren Sie fehlende Werte entlang der Zeile (axis=0) oder Spalte (axis=1) |
limit |
Ganzzahl. maximale Anzahl von aufeinanderfolgenden NaNs, die interpoliert werden sollen. |
inplace |
Boolesch. Wenn True, modifizieren Sie den Aufrufer DataFrame an Ort und Stelle |
limit_direction |
forward, backward oder both. Die Richtung entlang der NaNs wird interpoliert, wenn die limit angegeben wird. |
limit_area |
None, inside, outside. Beschränkung der Interpolation bei Angabe des limit. |
downcast |
Dictionary. Gibt Downcast von Datentypen an |
**kwargs |
Schlüsselwortargumente für die interpolierende Funktion. |
Zurück
Wenn inplace gleich True ist, ein DataFrame, der alle NaN-Werte mit der angegebenen method interpoliert; andernfalls None.
Beispiel-Codes: Interpolieren Sie alle NaN-Werte in DataFrame mit der Methode DataFrame.interpolate()
import pandas as pd
df = pd.DataFrame({'X': [1, 2, 3, None, 3],
'Y': [4, None, 8, None, 3]})
print("DataFrame:")
print(df)
filled_df = df.interpolate()
print("Interploated DataFrame:")
print(filled_df)
Ausgabe:
DataFrame:
X Y
0 1.0 4.0
1 2.0 NaN
2 3.0 8.0
3 NaN NaN
4 3.0 3.0
Interploated DataFrame:
X Y
0 1.0 4.0
1 2.0 6.0
2 3.0 8.0
3 3.0 5.5
4 3.0 3.0
Es interpoliert alle NaN-Werte in DataFrame unter Verwendung der linear Interpolationsmethode.
Diese Methode ist intelligenter im Vergleich zu pandas.DataFrame.fillna(), die einen festen Wert verwendet, um alle NaN Werte im DataFrame zu ersetzen.
Beispielcodes: DataFrame.interpolate() Methode Mit dem Parameter method
Wir können auch NaN-Werte in DataFrame mit verschiedenen Interpolationstechniken interpolieren, indem wir die Werte des Parameters Methode in der Funktion DataFrame.interpolate() einstellen.
import pandas as pd
df = pd.DataFrame({'X': [1, 2, 3, None, 3],
'Y': [4, None, 8, None, 3]})
print("DataFrame:")
print(df)
filled_df = df.interpolate(method='polynomial', order=2)
print("Interploated DataFrame:")
print(filled_df)
Ausgabe:
DataFrame:
X Y
0 1.0 4.0
1 2.0 NaN
2 3.0 8.0
3 NaN NaN
4 3.0 3.0
Interploated DataFrame:
X Y
0 1.000000 4.000
1 2.000000 7.125
2 3.000000 8.000
3 3.368421 6.625
4 3.000000 3.000
Diese Methode interpoliert alle NaN-Werte im DataFrame mit der Polynom- Interpolationsmethode 2.
Hier ist order=2 das Schlüsselwortargument für die Polynom-Funktion.
Beispiel-Codes: Pandas DataFrame.interpolate() Methode mit axis Parameter zur Interpolation entlang der Reihe Achse
import pandas as pd
df = pd.DataFrame({'X': [1, 2, 3, None, 3],
'Y': [4, None, 8, None, 3]})
print("DataFrame:")
print(df)
filled_df = df.interpolate(axis=1)
print("Interploated DataFrame:")
print(filled_df)
Ausgabe:
DataFrame:
X Y
0 1.0 4.0
1 2.0 NaN
2 3.0 8.0
3 NaN NaN
4 3.0 3.0
Interploated DataFrame:
X Y
0 1.0 4.0
1 2.0 2.0
2 3.0 8.0
3 NaN NaN
4 3.0 3.0
Hier setzen wir axis=1, um die NaN-Werte entlang der Zeilenachse zu interpolieren. In der 2. Zeile wird der NaN-Wert durch lineare Interpolation entlang der 2.
In der vierten Zeile bleiben die NaN-Werte jedoch auch nach der Interpolation erhalten, da die beiden Werte in der vierten Zeile NaN sind.
Beispielcodes: DataFrame.interpolate() Methode mit limit Parameter
Der Parameter limit in der Methode DataFrame.interpolate() begrenzt die maximale Anzahl von aufeinanderfolgenden NaN-Werten, die von der Methode gefüllt werden können.
import pandas as pd
df = pd.DataFrame({'X': [1, 2, 3, None, 3],
'Y': [4, None, None, None, 3]})
print("DataFrame:")
print(df)
filled_df = df.interpolate( limit = 1)
print("Interploated DataFrame:")
print(filled_df)
Ausgabe:
DataFrame:
X Y
0 1.0 4.0
1 2.0 NaN
2 3.0 NaN
3 NaN NaN
4 3.0 3.0
Interploated DataFrame:
X Y
0 1.0 4.00
1 2.0 3.75
2 3.0 NaN
3 3.0 NaN
4 3.0 3.00
Sobald ein NaN in einer Spalte von oben gefüllt ist, bleiben die nächsten aufeinanderfolgenden NaN-Werte in derselben Spalte unverändert.
Beispielcodes: DataFrame.interpolate() Methode mit limit_direction Parameter
Der Parameter limit-direction in der Methode DataFrame.interpolate() steuert die Richtung entlang einer bestimmten Achse, in der Werte interpoliert werden.
import pandas as pd
df = pd.DataFrame({'X': [1, 2, 3, None, 3],
'Y': [4, None, None, None, 3]})
print("DataFrame:")
print(df)
filled_df = df.interpolate(limit_direction ='backward', limit = 1)
print("Interploated DataFrame:")
print(filled_df)
Ausgabe:
DataFrame:
X Y
0 1.0 4.0
1 2.0 NaN
2 3.0 NaN
3 NaN NaN
4 3.0 3.0
Interploated DataFrame:
X Y
0 1.0 4.00
1 2.0 NaN
2 3.0 NaN
3 3.0 3.25
4 3.0 3.00
Sobald ein NaN in eine Spalte von unten gefüllt ist, bleiben die nächsten aufeinanderfolgenden NaN-Werte in der gleichen Spalte unverändert.
Interpolieren Sie Zeitreihendaten mit der Methode DataFrame.interpolate()
import pandas as pd
dates=['April-10', 'April-11', 'April-12', 'April-13']
fruits=['Apple', 'Papaya', 'Banana', 'Mango']
prices=[3, None, 2, 4]
df = pd.DataFrame({'Date':dates ,
'Fruit':fruits ,
'Price': prices})
print(df)
df.interpolate(inplace=True)
print("Interploated DataFrame:")
print(df)
Ausgabe:
Date Fruit Price
0 April-10 Apple 3.0
1 April-11 Papaya NaN
2 April-12 Banana 2.0
3 April-13 Mango 4.0
Interploated DataFrame:
Date Fruit Price
0 April-10 Apple 3.0
1 April-11 Papaya 2.5
2 April-12 Banana 2.0
3 April-13 Mango 4.0
Aufgrund von inplace=True wird der ursprüngliche DataFrame nach dem Aufruf der Funktion interpolate() modifiziert.
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn