Hur man identifierar saknade värden med pandas-funktionen isna()
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()pythonHur 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.
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)pythonDataFrame 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 NoneDen 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)pythonFunktionsanropet 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 TrueRä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)pythonDetta visar antalet saknade värden i varje kolumn:
Name 1
Age 1
City 1
dtype: int64