Pandas DataFrame DataFrame.fillna() Funktion
-
Syntax von
pandas.DataFrame.fillna()
: -
Beispiel-Codes: Füllen Sie alle
NaN
-Werte inDataFrame
mit der MethodeDataFrame.fillna()
-
Beispiel-Codes:
DataFrame.fillna()
Methode mit dem Parametermethod
-
Beispiel-Codes:
DataFrame.fillna()
Methode mit Parameterlimit
Die Funktion pandas.DataFrame.fillna()
ersetzt die NaN
-Werte in DataFrame
durch einen bestimmten Wert.
Syntax von pandas.DataFrame.fillna()
:
DataFrame.fillna(
value=None, method=None, axis=None, inplace=False, limit=None, downcast=None
)
Parameter
value |
scalar , dict , Series oder DataFrame . Zum Ersetzen von NaN -Werten verwendeter Wert |
method |
backfill , bfill , pad , ffill oder None . Methode zum Auffüllen von NaN -Werten. |
axis |
Fehlende Werte entlang der row (axis=0) oder column (axis=1) auffüllen |
inplace |
Boolesch. Wenn True , modifizieren Sie den Aufrufer DataFrame an Ort und Stelle |
limit |
Ganze Zahl. Wenn die method angegeben wird, ist dies die maximale Anzahl von aufeinanderfolgenden NaN Werten, die vorwärts/rückwärts gefüllt werden sollen. Wenn die method nicht angegeben ist, ist es die maximale Anzahl von NaN in der Achse, die gefüllt werden soll. |
downcast |
Dictionary. Gibt Downcast von Datentypen an |
Zurück
Wenn inplace
gleich True
ist, wird ein DataFrame
alle NaN
-Werte durch den angegebenen value
ersetzt; andernfalls None
.
Beispiel-Codes: Füllen Sie alle NaN
-Werte in DataFrame
mit der Methode DataFrame.fillna()
import pandas as pd
import numpy as np
df = pd.DataFrame({'X': [1, 2, 3, np.nan, 3],
'Y': [4, np.nan, 8, np.nan, 3]})
print("DataFrame:")
print(df)
filled_df = df.fillna(5)
print("Filled 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
Filled DataFrame:
X Y
0 1.0 4.0
1 2.0 5.0
2 3.0 8.0
3 5.0 5.0
4 3.0 3.0
Es füllt alle NaN
-Werte in DataFrame
mit 5
, die als Argument in der Methode pandas.DataFrame.fillna()
zur Verfügung gestellt werden.
DataFrame.fillna()
Mit Mittelwert
Es wäre auch eine gute Idee, NaN
-Werte einer Spalte durch diese Spalte zu ersetzen.
import pandas as pd
import numpy as np
df = pd.DataFrame({'X': [1, 2, 3, np.nan, 3],
'Y': [4, np.nan, 8, np.nan, 3]})
print("DataFrame:")
print(df)
df.fillna(df.mean(),inplace=True)
print("Filled DataFrame:")
print(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
Filled DataFrame:
X Y
0 1.00 4.0
1 2.00 5.0
2 3.00 8.0
3 2.25 5.0
4 3.00 3.0
Es füllt NaN
-Werte der Spalte X
mit Hilfe der Spalte X
und NaN
-Werte der Spalte Y
mit Hilfe der Spalte Y
.
Aufgrund von inplace=True
wird der ursprüngliche DataFrame
nach dem Aufruf der Funktion fillna()
modifiziert.
DataFrame.fillna()
Mit 0
import pandas as pd
import numpy as np
df = pd.DataFrame({'X': [1, 2, 3, np.nan, 3],
'Y': [4, np.nan, 8, np.nan, 3]})
print("DataFrame:")
print(df)
df.fillna(0,inplace=True)
print("Filled DataFrame:")
print(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
Filled DataFrame:
X Y
0 1.0 4.0
1 2.0 0.0
2 3.0 8.0
3 0.0 0.0
4 3.0 3.0
Es füllt alle NaN
mit 0
.
Beispiel-Codes: DataFrame.fillna()
Methode mit dem Parameter method
Wir können auch NaN
-Werte in DataFrame
füllen, indem wir verschiedene Auswahlmöglichkeiten des Parameters method
verwenden.
import pandas as pd
import numpy as np
df = pd.DataFrame({'X': [1, 2, 3, np.nan, 3],
'Y': [4, np.nan, 8, np.nan, 3]})
print("DataFrame:")
print(df)
filled_df = df.fillna(method="backfill")
print("Filled 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
Filled DataFrame:
X Y
0 1.0 4.0
1 2.0 8.0
2 3.0 8.0
3 3.0 3.0
4 3.0 3.0
Die Einstellung method="backfill"
füllt alle NaN
Werte von DataFrame
mit dem Wert nach dem NaN
Wert in der gleichen Spalte.
Wir können auch die Methoden bfill
, pad
und ffill
verwenden, um NaN
Werte in DataFrame
zu füllen.
method |
Beschreibung |
---|---|
backfill / bfill |
Füllen Sie alle NaN -Werte von DataFrame mit dem Wert nach dem NaN -Wert in der gleichen Spalte. |
ffill / pad |
alle NaN -Werte von DataFrame mit dem Wert vor dem NaN -Wert in der gleichen Spalte füllen. |
Beispiel-Codes: DataFrame.fillna()
Methode mit Parameter limit
Der Parameter limit
in der Methode DataFrame.fillna()
begrenzt die maximale Anzahl von aufeinanderfolgenden NaN
-Werten, die von der Methode gefüllt werden sollen.
import pandas as pd
import numpy as np
df = pd.DataFrame({'X': [1, 2,np.nan, 3,3],
'Y': [4, np.nan, 8, np.nan, 3]})
print("DataFrame:")
print(df)
filled_df = df.fillna(3,limit=1)
print("Filled DataFrame:")
print(filled_df)
Ausgabe:
DataFrame:
X Y
0 1.0 4.0
1 2.0 NaN
2 NaN 8.0
3 3.0 NaN
4 3.0 3.0
Filled DataFrame:
X Y
0 1.0 4.0
1 2.0 3.0
2 3.0 8.0
3 3.0 NaN
4 3.0 3.0
Sobald ein NaN
in einer Spalte gefüllt ist, bleibt der andere NaN
Wert in der gleichen Spalte unverändert.
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn