Funkce Python pandas DataFrame.isna() pomáhá uživatelům identifikovat chybějící data (NaN nebo None) v DataFrame. To může být obzvláště užitečné pro zjištění, zda je třeba data před zahájením analýzy vyčistit.

Jaká je syntaxe pro pandas isna()?

Jelikož pandas isna() nepřijímá žádné parametry, je jeho syntaxe poměrně jednoduchá:

DataFrame.isna()
python

Jak používat funkci pandas isna()

Když se isna() použije na DataFrame, vytvoří nový DataFrame s logickými hodnotami. Pokud v původním DataFrame chybí hodnota (např. označená jako NaN nebo None), isna() zobrazí True v místě, kde se hodnota nachází. V opačném případě funkce zobrazí False.

Poznámka

Pokud kromě identifikace NaN nebo None hodnot chcete tyto hodnoty také odstranit, podívejte se na funkci pandas dropna(). Pokud tyto hodnoty nechcete odstranit, ale místo toho je systematicky nahradit, je k tomu užitečným nástrojem funkce fillna().

Identifikace chybějících hodnot v DataFrame

Následující příklad používá DataFrame s údaji o různých osobách, u nichž některé informace chybí.

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 vypadá takto:

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

Chybějící informace byly označeny jako None nebo NaN. Chcete-li zjistit, které hodnoty přesně chybí, můžete zavolat isna() na DataFrame.

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

Funkce vrací nový DataFrame, kde chybějící hodnoty z původních dat jsou označeny jako True, zatímco hodnoty, které jsou přítomny, jsou označeny jako False. Zde je výstup:

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

Počítání počtu chybějících hodnot v jednotlivých sloupcích

Může být také užitečné vědět, kolik hodnot v každém sloupci chybí, aby se vám lépe rozhodovalo, jak s nimi naložit. K spočítání počtu chybějících hodnot v každém sloupci můžete použít isna() spolu s funkcí sum() jazyka Python.

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

Zde je uveden počet chybějících hodnot v každém sloupci:

Name     1
Age      1
City     1
dtype: int64
Přejít do hlavního menu