Einführung
In diesem Lab lernen wir, wie man fehlende Daten in pandas behandelt, einem häufigen Problem in der Datenanalyse. Wir werden behandeln, wie man fehlende Daten identifiziert, fehlende Werte einfüllt und Daten, die nicht benötigt werden, löscht. Wir werden auch über den experimentellen NA-Skalar in pandas sprechen, der verwendet werden kann, um fehlende Werte zu kennzeichnen.
VM-Tipps
Nachdem der VM-Start abgeschlossen ist, klicken Sie in der oberen linken Ecke, um zur Registerkarte Notebook zu wechseln und Jupyter Notebook für die Übung zu öffnen.
Manchmal müssen Sie 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 Sie während des Lernens Probleme haben, können Sie Labby fragen. Geben Sie nach der Sitzung Feedback, und wir werden das Problem für Sie prompt beheben.
Importieren von erforderlichen Bibliotheken und Erstellen eines DataFrames
Zunächst müssen wir die erforderlichen Bibliotheken importieren - pandas und NumPy. Anschließend erstellen wir einen DataFrame mit einigen fehlenden Werten.
import pandas as pd
import numpy as np
## Erstellen eines DataFrames mit fehlenden Werten
df = pd.DataFrame(
np.random.randn(5, 3),
index=["a", "c", "e", "f", "h"],
columns=["one", "two", "three"],
)
df["four"] = "bar"
df["five"] = df["one"] > 0
df2 = df.reindex(["a", "b", "c", "d", "e", "f", "g", "h"])
Fehlende Werte erkennen
Als nächstes verwenden wir die Funktionen isna und notna, um fehlende Werte zu erkennen.
## Verwenden Sie isna und notna, um fehlende Werte zu erkennen
pd.isna(df2["one"])
df2["four"].notna()
df2.isna()
Fehlende Daten einfügen
Hier sehen wir, wie man fehlende Werte in unsere Daten einfügt.
## Fehlende Werte einfügen
s = pd.Series([1., 2., 3.])
s.loc[0] = None
Berechnungen mit fehlenden Daten durchführen
Wir werden einige grundlegende arithmetische und statistische Berechnungen mit fehlenden Daten durchführen.
## Berechnungen mit fehlenden Daten durchführen
df["one"].sum()
df.mean(axis=1, numeric_only=True)
df.cumsum()
Achsenbezeichnungen mit fehlenden Daten entfernen
Wir werden lernen, wie man Bezeichnungen mit fehlenden Daten mithilfe von dropna ausschließt.
df.dropna(axis=0)
df.dropna(axis=1)
df["one"].dropna()
Fehlende Werte interpolieren
Wir werden die interpolate-Funktion verwenden, um fehlende Werte in einem DataFrame auszufüllen.
df = pd.DataFrame(
{
"A": [1, 2.1, np.nan, 4.7, 5.6, 6.8],
"B": [0.25, np.nan, np.nan, 4, 12.2, 14.4],
}
)
df.interpolate()
Allgemeine Werte ersetzen
Wir werden lernen, wie man beliebige Werte durch andere Werte mithilfe von replace ersetzt.
ser = pd.Series([0.0, 1.0, 2.0, 3.0, 4.0])
ser.replace(0, 5)
Den fehlenden Wert mit dem Skalar NA kennzeichnen verstehen
Schließlich werden wir das experimentelle NA-Skalar in pandas besprechen, das verwendet werden kann, um fehlende Werte zu kennzeichnen.
s = pd.Series([1, 2, None], dtype="Int64")
s
Zusammenfassung
In diesem Lab haben wir gelernt, wie man fehlende Daten mit pandas behandelt. Wir haben untersucht, wie man fehlende Daten erkennt, einfügt, mit ihnen rechnet und löscht. Wir haben auch gelernt, wie man fehlende Werte interpoliert und ersetzt. Schließlich haben wir das experimentelle NA-Skalar in pandas zur Kennzeichnung von fehlenden Werten besprochen. Dieses Wissen wird sehr nützlich sein, wenn es um die Bearbeitung von Echtzeit-Datenanalyse-Aufgaben geht, bei denen fehlende Daten oft ein häufiges Problem sind.