Mit der Python-Pandas-Funktion DataFrame.isna() kannst du fehlende Daten (NaN oder None) in einem DataFrame sofort aufspüren. So erkennst du auf einen Blick, ob deine Analysen direkt starten können oder ob du die Daten zuerst be­rei­ni­gen solltest.

Syntax von Pandas isna()

Die Anwendung ist denkbar einfach, da Pandas isna() keine Parameter benötigt:

DataFrame.isna()
python

So nutzt du die isna()-Funktion

Wendest du Pandas isna() auf einen DataFrame an, erhältst du einen neuen DataFrame mit boole­schen Werten. Überall dort, wo im Original ein Wert fehlt oder NaN bzw. None steht, wird True aus­ge­ge­ben. Sind Daten vorhanden, liefert isna() an dieser Stelle den Wert False.

Hinweis

Willst du NaN- oder None-Werte nicht nur finden, sondern direkt löschen? Dann schau dir die Pandas-Funktion dropna() an. Um Lücken sys­te­ma­tisch zu schließen, hilft dir die fillna()-Funktion weiter.

Fehlende Werte im DataFrame finden

Im folgenden Beispiel nutzen wir einen DataFrame mit Per­so­nen­da­ten, bei dem manche Einträge fehlen oder den Wert None aufweisen:

import pandas as pd
# Beispiel-DataFrame erstellen
data = {
    'Name': ['Alice', 'Bob', None, 'David'],
    'Alter': [25, None, 35, 40],
    'Stadt': ['New York', 'Los Angeles', 'Chicago', None]
}
df = pd.DataFrame(data)
print(df)
python

Der DataFrame sieht so 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

Mit dem Aufruf von isna() iden­ti­fi­zierst du die exakten Lücken im Datensatz.

# Anwendung von Pandas isna()
missing_values = df.isna()
print(missing_values)
python

Du erhältst einen neuen DataFrame: Fehlende Werte werden durch True markiert, vor­han­de­ne Daten durch False. Das Ergebnis sieht dann so aus:

Name  Alter  Stadt
0  False  False  False
1  False   True  False
2   True  False  False
3  False  False   True

Lücken pro Spalte zählen

Um zu ent­schei­den, wie du mit un­voll­stän­di­gen Daten umgehst, ist die Anzahl der Lücken pro Spalte oft ent­schei­dend. Kom­bi­nie­re dafür einfach isna() mit der Python-Funktion sum().

# Zählen der fehlenden Werte pro Spalte
missing_count = df.isna().sum()
print(missing_count)
python

Das Ergebnis zeigt dir die Summe der fehlenden Werte je Spalte:

Name     1
Alter    1
Stadt    1
dtype: int64
Zum Hauptmenü