Umgang mit Fehlenden Werten
Nur eine begrenzte Anzahl von Machine-Learning-Modellen kann mit fehlenden Werten umgehen, daher muss das Datenset überprüft werden, um sicherzustellen, dass keine Lücken verbleiben. Falls fehlende Werte vorhanden sind, können diese auf zwei Arten behandelt werden:
- Entfernen von Zeilen, die fehlende Werte enthalten;
- Ausfüllen leerer Zellen mit Ersatzwerten, ein Vorgang, der als Imputation bezeichnet wird.
Fehlende Werte identifizieren
Um allgemeine Informationen über das Datenset auszugeben und auf fehlende Werte zu prüfen, kann die Methode .info()
eines DataFrames verwendet werden.
12345import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/penguins.csv') print(df.info())
Der Datensatz umfasst 344 Einträge, aber die Spalten 'culmen_depth_mm'
, 'flipper_length_mm'
, 'body_mass_g'
und 'sex'
enthalten jeweils weniger als 344 Nicht-Null-Werte, was auf das Vorhandensein fehlender Daten hinweist.
Null ist eine weitere Bezeichnung für fehlende Werte.
Um die Anzahl der fehlenden Werte in jeder Spalte zu ermitteln, die Methode .isna()
anwenden und anschließend .sum()
verwenden.
12345import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/penguins.csv') print(df.isna().sum())
Zeilen mit fehlenden Werten können angezeigt werden mit:
df[df.isna().any(axis=1)]
12345import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/penguins.csv') print(df[df.isna().any(axis=1)])
Entfernen von Zeilen
Die erste und letzte Zeile enthalten nur die Zielvariable ('species'
) und den Wert für 'island'
und bieten zu wenig Informationen, um nützlich zu sein. Diese Zeilen können entfernt werden, indem nur diejenigen mit weniger als zwei NaN
-Werten beibehalten und erneut df
zugewiesen werden.
123456import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/penguins.csv') df = df[df.isna().sum(axis=1) < 2] print(df.head(8))
Im Gegensatz dazu enthalten die verbleibenden Zeilen nützliche Informationen, wobei NaN
-Werte nur in der Spalte 'sex'
auftreten. Anstatt diese Zeilen zu entfernen, können die fehlenden Werte imputiert werden. Ein gängiger Ansatz ist die Verwendung des SimpleImputer
-Transformers, der im nächsten Kapitel behandelt wird.
Danke für Ihr Feedback!
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen
Awesome!
Completion rate improved to 3.13
Umgang mit Fehlenden Werten
Swipe um das Menü anzuzeigen
Nur eine begrenzte Anzahl von Machine-Learning-Modellen kann mit fehlenden Werten umgehen, daher muss das Datenset überprüft werden, um sicherzustellen, dass keine Lücken verbleiben. Falls fehlende Werte vorhanden sind, können diese auf zwei Arten behandelt werden:
- Entfernen von Zeilen, die fehlende Werte enthalten;
- Ausfüllen leerer Zellen mit Ersatzwerten, ein Vorgang, der als Imputation bezeichnet wird.
Fehlende Werte identifizieren
Um allgemeine Informationen über das Datenset auszugeben und auf fehlende Werte zu prüfen, kann die Methode .info()
eines DataFrames verwendet werden.
12345import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/penguins.csv') print(df.info())
Der Datensatz umfasst 344 Einträge, aber die Spalten 'culmen_depth_mm'
, 'flipper_length_mm'
, 'body_mass_g'
und 'sex'
enthalten jeweils weniger als 344 Nicht-Null-Werte, was auf das Vorhandensein fehlender Daten hinweist.
Null ist eine weitere Bezeichnung für fehlende Werte.
Um die Anzahl der fehlenden Werte in jeder Spalte zu ermitteln, die Methode .isna()
anwenden und anschließend .sum()
verwenden.
12345import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/penguins.csv') print(df.isna().sum())
Zeilen mit fehlenden Werten können angezeigt werden mit:
df[df.isna().any(axis=1)]
12345import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/penguins.csv') print(df[df.isna().any(axis=1)])
Entfernen von Zeilen
Die erste und letzte Zeile enthalten nur die Zielvariable ('species'
) und den Wert für 'island'
und bieten zu wenig Informationen, um nützlich zu sein. Diese Zeilen können entfernt werden, indem nur diejenigen mit weniger als zwei NaN
-Werten beibehalten und erneut df
zugewiesen werden.
123456import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/penguins.csv') df = df[df.isna().sum(axis=1) < 2] print(df.head(8))
Im Gegensatz dazu enthalten die verbleibenden Zeilen nützliche Informationen, wobei NaN
-Werte nur in der Spalte 'sex'
auftreten. Anstatt diese Zeilen zu entfernen, können die fehlenden Werte imputiert werden. Ein gängiger Ansatz ist die Verwendung des SimpleImputer
-Transformers, der im nächsten Kapitel behandelt wird.
Danke für Ihr Feedback!