Python -funktionen pandas DataFrame.isna() hjälper användare att identifiera saknade data (NaN eller None) i en DataFrame. Detta kan vara särskilt användbart för att se om data behöver rensas innan analysen påbörjas.

Vad är syntaxen för pandas isna()?

Eftersom pandas isna() inte tar några parametrar är dess syntax ganska enkel:

DataFrame.isna()
python

Hur man använder funktionen pandas isna()

När isna() tillämpas på en DataFrame skapas en ny DataFrame med booleska värden. Om ett värde i den ursprungliga DataFrame saknas (t.ex. markerat som NaN eller None) visar isna() True där värdet finns. I annat fall visar funktionen False.

Notis

Om du, förutom att identifiera NaN eller None värden, också vill ta bort dem, kan du kolla in pandas-funktionen dropna(). Om du inte vill ta bort dessa värden, utan istället systematiskt ersätta dem, är funktionen fillna() ett användbart verktyg för detta.

Identifiera saknade värden i en DataFrame

I följande exempel används en DataFrame med data om olika individer, där viss information saknas.

import pandas as pd
# Create DataFrame example
data = {
    'Name': ['Alice', 'Bob', None, 'David'],
    'Age': [25, None, 35, 40],
    'City': ['Nottingham', 'London', 'Cardiff', None]
}
df = pd.DataFrame(data)
print(df)
python

DataFrame ser ut så här:

Name   Age         City
0  Alice  25.0     Nottingham
1    Bob   NaN  	London
2   None  35.0      Cardiff
3  David  40.0         None

Den information som saknas har markerats som None eller NaN. För att se exakt vilka värden som saknas kan du ringa isna() på DataFrame.

# Applying  pandas isna()
missing_values = df.isna()
print(missing_values)
python

Funktionsanropet returnerar en ny DataFrame, där saknade värden från originaldata markeras som True, medan värden som finns markeras som False. Här är resultatet:

Name    Age   City
0  False  False  False
1  False   True  False
2   True  False  False
3  False  False   True

Räkna antalet saknade värden per kolumn

Det kan också vara användbart att veta hur många värden som saknas i varje kolumn för att hjälpa dig att bestämma hur du ska hantera dem. Du kan använda isna() tillsammans med Pythons sum() för att räkna antalet saknade värden i varje kolumn.

# Count missing values per column
missing_count = df.isna().sum()
print(missing_count)
python

Detta visar antalet saknade värden i varje kolumn:

Name     1
Age      1
City     1
dtype: int64
Gå till huvudmeny