Kuidas tuvastada puuduvad väärtused pandas isna() funktsiooni abil
Python pandas funktsioon DataFrame.isna() aitab kasutajatel tuvastada puuduvaid andmeid (NaN või None) DataFrame’is. See võib olla eriti kasulik, et näha, kas andmeid on vaja puhastada enne analüüsi alustamist.
Mis on pandas isna() süntaks?
Kuna pandas isna() ei võta vastu mingeid parameetreid, on selle süntaks üsna lihtne:
DataFrame.isna()pythonKuidas kasutada pandas isna() funktsiooni
Kui isna() rakendatakse DataFrame’ile, loob see uue DataFrame’i boolesete väärtustega. Kui algses DataFrame’is puudub väärtus (nt märgitud kui NaN või None), näitab isna() väärtuse asukoha True. Muidu kuvab funktsioon False.
Kui soovite lisaks NaN või None väärtuse tuvastamisele need ka eemaldada, vaadake pandas dropna() funktsiooni. Kui te ei soovi neid väärtusi eemaldada, vaid süstemaatiliselt asendada, on fillna() funktsioon selleks sobiv vahend.
Puuduvate väärtuste tuvastamine andmestikus
Järgmises näites kasutatakse DataFrame’i, mis sisaldab andmeid erinevate isikute kohta, kusjuures osa teavet puudub.
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)pythonAndmestruktuur näeb välja järgmine:
Name Age City
0 Alice 25.0 Nottingham
1 Bob NaN London
2 None 35.0 Cardiff
3 David 40.0 NonePuuduv teave on märgitud numbritega None või NaN. Et näha täpselt, millised väärtused puuduvad, võite DataFrame’is kutsuda isna().
# Applying pandas isna()
missing_values = df.isna()
print(missing_values)pythonFunktsioonikõne tagastab uue DataFrame’i, kus algandmete puuduvad väärtused on märgitud numbriga True, samas kui olemasolevad väärtused on märgitud numbriga False. Siin on väljund:
Name Age City
0 False False False
1 False True False
2 True False False
3 False False TruePuuduvate väärtuste arvu loendamine veerus
Samuti võib olla kasulik teada, kui palju väärtusi igas veerus puudub, et otsustada, kuidas neid käsitleda. Igas veerus puuduvate väärtuste arvu loendamiseks võite kasutada isna() koos Pythoni funktsiooniga sum().
# Count missing values per column
missing_count = df.isna().sum()
print(missing_count)pythonSee näitab puuduvate väärtuste arvu igas veerus:
Name 1
Age 1
City 1
dtype: int64