Python pandas- funk­tio­nen DataFrame.isna() hjælper brugerne med at iden­ti­fi­ce­re manglende data (NaN eller None) i en DataFrame. Dette kan være særligt nyttigt for at se, om data skal renses, inden analysen på­be­gyn­des.

Hvad er syntaksen for pandas isna()?

Da pandas isna() ikke tager nogen parametre, er dens syntaks ret ligetil:

DataFrame.isna()
python

Sådan bruges funk­tio­nen pandas isna()

Når isna() anvendes på en DataFrame, oprettes der en ny DataFrame med boolske værdier. Hvis en værdi i den op­rin­de­li­ge DataFrame mangler (f.eks. markeret som NaN eller None), viser isna() True, hvor værdien er placeret. Ellers viser funk­tio­nen False.

Note

Hvis du ud over at iden­ti­fi­ce­re NaN eller None værdier også ønsker at fjerne dem, kan du tjekke pandas-funk­tio­nen dropna(). Hvis du ikke ønsker at fjerne disse værdier, men i stedet sy­ste­ma­tisk erstatte dem, er funk­tio­nen fillna() et nyttigt værktøj til dette formål.

Iden­ti­fi­ce­ring af manglende værdier i en DataFrame

I det følgende eksempel bruges en DataFrame med data om for­skel­li­ge personer, hvor nogle op­lys­nin­ger mangler.

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 således ud:

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

De manglende op­lys­nin­ger er markeret som None eller NaN. For at se nøjagtigt, hvilke værdier der mangler, kan du kalde isna() på DataFrame.

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

Funk­tions­kal­det re­tur­ne­rer en ny DataFrame, hvor manglende værdier fra de op­rin­de­li­ge data er markeret som True, mens værdier, der er til stede, er markeret som False. Her er re­sul­ta­tet:

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

Tælle antallet af manglende værdier pr. kolonne

Det kan også være nyttigt at vide, hvor mange værdier der mangler i hver kolonne, så du kan beslutte, hvordan du skal håndtere dem. Du kan bruge isna() sammen med Pythons sum() til at tælle antallet af manglende værdier i hver kolonne.

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

Dette viser antallet af manglende værdier i hver kolonne:

Name     1
Age      1
City     1
dtype: int64
Gå til ho­ved­me­nu­en