Sådan identificeres manglende værdier med pandas isna()-funktionen
Python pandas- funktionen DataFrame.isna() hjælper brugerne med at identificere 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åbegyndes.
Hvad er syntaksen for pandas isna()?
Da pandas isna() ikke tager nogen parametre, er dens syntaks ret ligetil:
DataFrame.isna()pythonSådan bruges funktionen pandas isna()
Når isna() anvendes på en DataFrame, oprettes der en ny DataFrame med boolske værdier. Hvis en værdi i den oprindelige DataFrame mangler (f.eks. markeret som NaN eller None), viser isna() True, hvor værdien er placeret. Ellers viser funktionen False.
Hvis du ud over at identificere NaN eller None værdier også ønsker at fjerne dem, kan du tjekke pandas-funktionen dropna(). Hvis du ikke ønsker at fjerne disse værdier, men i stedet systematisk erstatte dem, er funktionen fillna() et nyttigt værktøj til dette formål.
Identificering af manglende værdier i en DataFrame
I det følgende eksempel bruges en DataFrame med data om forskellige personer, hvor nogle oplysninger 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)pythonDataFrame 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 NoneDe manglende oplysninger 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)pythonFunktionskaldet returnerer en ny DataFrame, hvor manglende værdier fra de oprindelige data er markeret som True, mens værdier, der er til stede, er markeret som False. Her er resultatet:
Name Age City
0 False False False
1 False True False
2 True False False
3 False False TrueTæ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)pythonDette viser antallet af manglende værdier i hver kolonne:
Name 1
Age 1
City 1
dtype: int64