Pandas-isna()-Funktion: Fehlende Werte erkennen
Die Python-Pandas-Funktion DataFrame.isna()
hilft Ihnen dabei, fehlende Daten (NaN
oder None
) innerhalb eines DataFrames zu identifizieren. Das kann hilfreich sein, um festzustellen, ob geplante Analysen stattfinden können oder ob zuvor eine Bereinigung der Daten notwendig ist.
- Flexibel: Hosting, das jedem Website-Traffic standhält
- Verlässlich: Inklusive 24/7-Support und persönlicher Beratung
- Sicher: Kostenloses SSL-Zertifikat, DDoS-Schutz und Backups
Syntax von Pandas isna()
Da Pandas isna()
keine Parameter entgegennimmt, ist die Syntax der Funktion sehr einfach und sieht wie folgt aus:
DataFrame.isna()
pythonAnwendung der isna()
-Funktion
Pandas isna()
wird auf einen DataFrame angewendet, um einen neuen DataFrame mit booleschen Werten zu erzeugen. Fehlt ein Wert im ursprünglichen DataFrame bzw. ist NaN
oder None
, ist an der korrespondierenden Stelle im Ergebnis der Wert True
hinterlegt. Anderenfalls liefert isna()
an der entsprechenden Stelle den Wert False
.
Wenn Sie nicht nur identifizieren wollen, ob NaN
- oder None
-Werte vorhanden sind, sondern diese auch entfernen möchten, lohnt sich ein Blick auf die Pandas-Funktion dropna()
. Möchten Sie die Werte hingegen systematisch ersetzen, kann die fillna()
-Funktion aushelfen.
Identifikation fehlender Werte in einem DataFrame
In den folgenden Beispielen wird ein DataFrame mit Informationen über verschiedene Personen betrachtet, in dem jedoch einige Daten fehlen bzw. den Wert None
haben:
import pandas as pd
data = {
'Name': ['Alice', 'Bob', None, 'David'],
'Alter': [25, None, 35, 40],
'Stadt': ['New York', 'Los Angeles', 'Chicago', None]
}
df = pd.DataFrame(data)
print(df)
pythonDer DataFrame sieht folgendermaßen aus:
Name Alter Stadt
0 Alice 25.0 New York
1 Bob NaN Los Angeles
2 None 35.0 Chicago
3 David 40.0 None
Um herauszufinden, welche Werte genau fehlen, kann isna()
auf dem DataFrame aufgerufen werden.
# Anwendung von Pandas isna()
missing_values = df.isna()
print(missing_values)
pythonDer Funktionsaufruf liefert einen neuen DataFrame, in dem ein Wert durch True
ersetzt wird, wenn der ursprüngliche Wert fehlt, und durch False
, wenn der Wert vorhanden ist. Das Ergebnis sieht daher wie folgt aus:
Name Alter Stadt
0 False False False
1 False True False
2 True False False
3 False False True
Zählen der fehlenden Werte pro Spalte
Es kann hilfreich sein, zu wissen, wie viele Werte in jeder Spalte fehlen, um zu entscheiden, wie man mit den fehlenden Daten umgeht. Hierzu kann isna()
in Kombination mit der Python-Funktion sum()
genutzt werden.
# Zählen der fehlenden Werte pro Spalte
missing_count = df.isna().sum()
print(missing_count)
pythonDas Resultat zeigt an, wie viele Werte in jeder Spalte fehlen:
Name 1
Alter 1
Stadt 1
dtype: int64