Ako identifikovať chýbajúce hodnoty pomocou funkcie pandas isna()
Funkcia Python pandas DataFrame.isna() pomáha používateľom identifikovať chýbajúce údaje (NaN alebo None) v DataFrame. To môže byť obzvlášť užitočné na zistenie, či je potrebné údaje pred začatím analýzy vyčistiť.
Aká je syntax pre pandas isna()?
Keďže pandas isna() neberie žiadne parametre, jeho syntax je celkom jednoduchá:
DataFrame.isna()pythonAko používať funkciu pandas isna()
Keď sa isna() použije na DataFrame, vytvorí nový DataFrame s boolovskými hodnotami. Ak v pôvodnom DataFrame chýba hodnota (napr. označená ako NaN alebo None), isna() zobrazí True, kde sa hodnota nachádza. V opačnom prípade funkcia zobrazí False.
Ak okrem identifikácie NaN alebo None hodnôt chcete tieto hodnoty aj odstrániť, pozrite sa na funkciu pandas dropna(). Ak tieto hodnoty nechcete odstrániť, ale namiesto toho ich systematicky nahradiť, na tento účel je užitočným nástrojom funkcia fillna().
Identifikácia chýbajúcich hodnôt v DataFrame
Nasledujúci príklad používa DataFrame s údajmi o rôznych osobách, kde chýbajú niektoré informácie.
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 vyzerá takto:
Name Age City
0 Alice 25.0 Nottingham
1 Bob NaN London
2 None 35.0 Cardiff
3 David 40.0 NoneChýbajúce informácie sú označené ako None alebo NaN. Ak chcete zistiť, ktoré hodnoty presne chýbajú, môžete zavolať isna() na DataFrame.
# Applying pandas isna()
missing_values = df.isna()
print(missing_values)pythonFunkcia vráti nový DataFrame, kde chýbajúce hodnoty z pôvodných údajov sú označené ako True, zatiaľ čo prítomné hodnoty sú označené ako False. Tu je výstup:
Name Age City
0 False False False
1 False True False
2 True False False
3 False False TruePočítanie počtu chýbajúcich hodnôt v stĺpci
Môže byť tiež užitočné vedieť, koľko hodnôt chýba v každom stĺpci, aby ste sa mohli rozhodnúť, ako s nimi naložiť. Na spočítanie počtu chýbajúcich hodnôt v každom stĺpci môžete použiť isna() spolu s funkciou Python sum().
# Count missing values per column
missing_count = df.isna().sum()
print(missing_count)pythonToto vám ukáže počet chýbajúcich hodnôt v každom stĺpci:
Name 1
Age 1
City 1
dtype: int64