Pandas DataFrame DataFrame.interpolate()-Funktion
-
Syntax von
Pandas.DataFrame.interpolate()
: -
Beispiel-Codes: Interpolieren Sie alle
NaN
-Werte inDataFrame
mit der MethodeDataFrame.interpolate()
-
Beispielcodes:
DataFrame.interpolate()
Methode Mit dem Parametermethod
-
Beispiel-Codes: Pandas
DataFrame.interpolate()
Methode mitaxis
Parameter zur Interpolation entlang derReihe
Achse -
Beispielcodes:
DataFrame.interpolate()
Methode mitlimit
Parameter -
Beispielcodes:
DataFrame.interpolate()
Methode mitlimit_direction
Parameter -
Interpolieren Sie Zeitreihendaten mit der Methode
DataFrame.interpolate()
![Pandas DataFrame DataFrame.interpolate()-Funktion](/img/Python-Pandas/feature-image---Pandas-DataFrame-DataFrame.interpolate-Function.webp)
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