Pandas DataFrame Fillna-Methode

PythonPythonBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab lernst du, wie du die fillna()-Methode in der Pandas-Bibliothek verwendest. Die fillna()-Methode ermöglicht es dir, fehlende oder NaN (Not a Number)-Werte in einem DataFrame mit bestimmten Werten oder unter Verwendung einer bestimmten Methode zu füllen.

Tipps für die VM

Nachdem der VM-Start abgeschlossen ist, klicke in der oberen linken Ecke, um zur Registerkarte Notebook zu wechseln und Jupyter Notebook für die Übung zu nutzen.

Manchmal musst du einige Sekunden warten, bis Jupyter Notebook vollständig geladen ist. Die Validierung von Vorgängen kann aufgrund von Einschränkungen in Jupyter Notebook nicht automatisiert werden.

Wenn du bei der Lernphase Probleme hast, kannst du Labby gerne fragen. Gib nach der Sitzung Feedback, und wir werden das Problem für dich prompt beheben.

Importieren der erforderlichen Bibliotheken

Lassen Sie uns beginnen, indem wir die Pandas-Bibliothek importieren:

import pandas as pd

Erstellen eines DataFrames mit fehlenden Werten

Als nächstes erstellen wir ein DataFrame mit einigen fehlenden Werten:

df = pd.DataFrame([[2, pd.nan, 0], [pd.nan, pd.nan, 5], [pd.nan, 3, pd.nan]], columns=list('ABC'))
print("The DataFrame is:")
print(df)

Fehlende Werte mit einem bestimmten Wert auffüllen

Wir können die fillna()-Methode verwenden, um alle fehlenden Werte mit einem bestimmten Wert zu ersetzen. Beispielsweise ersetzen wir alle fehlenden Werte im DataFrame mit dem Wert 2:

print("Filling NaN values:")
print(df.fillna(2))

Fehlende Werte mit der forward-fill-Methode auffüllen

Anstatt einen einzelnen Wert zum Auffüllen von fehlenden Werten zu verwenden, können wir nicht-leere Werte mit der forward-fill-Methode (ffill) vorwärts propagieren. Diese Methode füllt fehlende Werte mit dem zuletzt beobachteten nicht-leeren Wert in der gleichen Spalte.

print("Filling NaN values using forward fill method:")
print(df.fillna(method='ffill'))

Fehlende Werte mit der forward-fill-Methode entlang der Spalten auffüllen

Wir können auch die forward-fill-Methode entlang der Spalten verwenden, indem wir den Parameter axis auf 1 setzen.

print("Filling NaN values using forward fill method along the columns:")
print(df.fillna(method='ffill', axis=1))

Fehlende Werte mit der backward-fill-Methode auffüllen

Ähnlich können wir die backward-fill-Methode (bfill) verwenden, um nicht-leere Werte rückwärts zu propagieren. Diese Methode füllt fehlende Werte mit dem nächsten beobachteten nicht-leeren Wert in der gleichen Spalte.

print("Filling NaN values using backward fill method:")
print(df.fillna(method='bfill'))

Fehlende Werte in bestimmten Spalten mit bestimmten Werten ersetzen

Wir können fehlende Werte in bestimmten Spalten mit unterschiedlichen bestimmten Werten ersetzen. Beispielsweise ersetzen wir die fehlenden Werte in den Spalten 'A', 'B', 'C' und 'D' mit den Werten 0, 1, 2 und 3 respectivement.

print("Filling NaN values in specific columns:")
new_values = {'A': 0, 'B': 1, 'C': 2, 'D': 3}
print(df.fillna(value=new_values))

Die Anzahl aufeinanderfolgender NaN-Werte begrenzen, die gefüllt werden sollen

Wir können auch die Anzahl aufeinanderfolgender NaN-Werte begrenzen, die gefüllt werden sollen, indem wir den Parameter limit verwenden. Beispielsweise begrenzen wir das forward-füllen auf nur einen aufeinanderfolgenden NaN-Wert.

print("Filling NaN values with a limit:")
print(df.fillna(method='ffill', limit=1))

Zusammenfassung

In diesem Lab haben Sie gelernt, wie Sie die fillna()-Methode in der Pandas-Bibliothek verwenden, um fehlende oder NaN-Werte in einem DataFrame zu füllen. Sie haben verschiedene Möglichkeiten zur Befüllung von fehlenden Werten untersucht, darunter das Verwenden eines angegebenen Werts, das forward-füllen, das backward-füllen und das Begrenzen der Anzahl aufeinanderfolgender NaN-Werte, die gefüllt werden sollen. Fillna ist eine nützliche Methode zum Umgang mit fehlenden Daten und zur Gewährleistung der Integrität Ihres DataFrames.