Hvordan identifisere manglende verdier med pandas isna()-funksjonen
Python pandas-funks jonen DataFrame.isna() hjelper brukere med å identifisere manglende data (NaN eller None) i en DataFrame. Dette kan være spesielt nyttig for å se om data må ryddes opp før analysen begynner.
Hva er syntaksen for pandas isna()?
Siden pandas isna() ikke tar noen parametere, er syntaksen ganske enkel:
DataFrame.isna()pythonHvordan bruke pandas isna() 2-funksjonen
Når isna() brukes på en DataFrame, opprettes en ny DataFrame med boolske verdier. Hvis en verdi i den opprinnelige DataFrame mangler (f.eks. merket som NaN eller None), vil isna() vise True der verdien befinner seg. Ellers vil funksjonen vise False.
Hvis du i tillegg til å identifisere NaN eller None verdier også ønsker å fjerne dem, kan du sjekke ut pandas-funksjonen dropna(). Hvis du ikke ønsker å fjerne disse verdiene, men i stedet systematisk erstatte dem, er funksjonen fillna() et nyttig verktøy for å gjøre dette.
Identifisere manglende verdier i en DataFrame
Følgende eksempel bruker en DataFrame med data om forskjellige individer, hvor noe informasjon 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 slik ut:
Name Age City
0 Alice 25.0 Nottingham
1 Bob NaN London
2 None 35.0 Cardiff
3 David 40.0 NoneDen manglende informasjonen er merket som None eller NaN. For å se nøyaktig hvilke verdier som mangler, kan du kalle opp isna() på DataFrame.
# Applying pandas isna()
missing_values = df.isna()
print(missing_values)pythonFunksjonskallet returnerer en ny DataFrame, hvor manglende verdier fra de opprinnelige dataene er merket som True, mens verdier som er til stede er merket som False. Her er resultatet:
Name Age City
0 False False False
1 False True False
2 True False False
3 False False TrueTelle antall manglende verdier per kolonne
Det kan også være nyttig å vite hvor mange verdier som mangler i hver kolonne, slik at du kan bestemme hvordan du skal håndtere dem. Du kan bruke isna() sammen med Pythons sum() til å telle antall manglende verdier i hver kolonne.
# Count missing values per column
missing_count = df.isna().sum()
print(missing_count)pythonDette viser antall manglende verdier i hver kolonne:
Name 1
Age 1
City 1
dtype: int64