Python NaN: 4 manieren om te controleren op ontbrekende waarden in Python
Ontdek 4 manieren om NaN-waarden te detecteren in Python, met NumPy en Pandas. Leer de belangrijkste verschillen tussen NaN en None om data efficiënt op te schonen en te analyseren.
In de wereld van data science en analytics is ontbrekende data eerder regel dan uitzondering. Ontbrekende waarden kunnen analyses vertekenen, tot verkeerde conclusies leiden en de gegevensverwerking verstoren. Het aanpakken van deze gaten is cruciaal om de integriteit van je analyse te behouden. Dit artikel laat je verschillende manieren zien om NaN (Not a Number)-waarden in Python te identificeren.
Het korte antwoord: gebruik ofwel NumPy’s isnan()-functie of de Pandas-methode .isna()
Hoe je in Python met ontbrekende waarden omgaat, hangt vooral af van de datastructuur waarmee je werkt.
Voor losse waarden of arrays: gebruik NumPy
De functie isnan() van NumPy is ideaal om NaN’s te herkennen in numerieke arrays of losse waarden, en biedt een eenvoudige en efficiënte oplossing. Zo werkt het in de praktijk!
import numpy as np
# Single value check
my_missing_value = np.nan
print(np.isnan(my_missing_value))# Output: True# Array check
my_missing_array = np.array([1, np.nan,3])
nan_array = np.isnan(my_missing_array)print(nan_array)# Output: [False True False]Mogelijk gemaakt door
Learn-by-Example editor, druk op Tab om in te voeren. Druk op Escape en dan Tab of Shift+Tab om eruit te navigeren.
Pandas biedt uitgebreide methoden zoals .isna() en .isnull() om ontbrekende waarden te detecteren in DataFrame- of Series-objecten, en sluit naadloos aan op data-analyseworkflows.
import pandas as pd
import numpy as np
my_dataframe = pd.DataFrame({'Column1':["I","Love", np.nan],'Column2':["Python", np.nan,"The Best"]})print(my_dataframe.isna())# Column1 Column2# 0 False False# 1 False True# 2 True FalseMogelijk gemaakt door
Learn-by-Example editor, druk op Tab om in te voeren. Druk op Escape en dan Tab of Shift+Tab om eruit te navigeren.
Als je deze code draait, geeft de output aan waar NaN-waarden voorkomen in een iets interessantere context, zoals hierboven getoond.
Het verschil tussen NaN en None
Het onderscheid tussen NaN en None is belangrijk in Python. NaN is een drijvende-kommarepresentatie van "Not a Number", voornamelijk gebruikt in numerieke berekeningen. None daarentegen is het Python-object dat de afwezigheid van een waarde weergeeft, vergelijkbaar met null in andere talen. Waar NaN vooral wordt gebruikt in wiskundige of wetenschappelijke berekeningen, is None algemener inzetbaar en geeft het een gebrek aan data aan.
4 manieren om te controleren op NaN in Python
Door datasets navigeren om ontbrekende waarden te vinden is een cruciale stap in datavoorbewerking. Laten we vier praktische methoden bekijken om op NaN-waarden te controleren in Python, voortbouwend op de voorbeelden die we al gebruikten.
1. Controleren op NaN met np.isnan()
Zoals we eerder zagen, biedt NumPy een directe manier om NaN-waarden te identificeren in zowel losse waarden als arrays, wat essentieel is voor numerieke data-analyse.
import numpy as np
# Checking a single valueprint(np.isnan(np.nan))# Output: True# Checking an array
my_array = np.array([1,5, np.nan])print(np.isnan(my_array))# Output: [False False True]Mogelijk gemaakt door
Learn-by-Example editor, druk op Tab om in te voeren. Druk op Escape en dan Tab of Shift+Tab om eruit te navigeren.
Pandas maakt het eenvoudig om NaN-waarden in datastructuren te detecteren, van scalars tot complexe DataFrames, en is daarmee onmisbaar voor datamanipulatie.
import numpy as np
import pandas as pd
# Checking a single valueprint(pd.isna(np.nan))# Output: True# Checking a pandas Series
my_series = pd.Series(["Python", np.nan,"The Best"])print(my_series.isna())# Output:# 0 False# 1 True# 2 False# Checking a pandas DataFrame
my_dataframe = pd.DataFrame({'Column1':["I","Love", np.nan],'Column2':["Python", np.nan,"The Best"]})print(pd.isna(my_dataframe))# Output a DataFrame with True for missing valuesMogelijk gemaakt door
Learn-by-Example editor, druk op Tab om in te voeren. Druk op Escape en dan Tab of Shift+Tab om eruit te navigeren.
3. Controleren op NaN in DataFrames met de Pandas-methoden .isna() of .isnull()
Pandas DataFrames bieden ook de methoden .isna() en .isnull() om moeiteloos ontbrekende waarden in datasets te lokaliseren, wat een helder overzicht van de datacompleetheid geeft.
import numpy as np
import pandas as pd
# Create a dataframe with missing values
my_dataframe = pd.DataFrame({'Column1':["I","Love", np.nan],'Column2':["Python", np.nan,"The Best"]})print(my_dataframe.isna())# Output:# Column1 Column2# 0 False False# 1 False True# 2 True Falseprint(my_dataframe.isnull())# Output:# Column1 Column2# 0 False False# 1 False True# 2 True FalseMogelijk gemaakt door
Learn-by-Example editor, druk op Tab om in te voeren. Druk op Escape en dan Tab of Shift+Tab om eruit te navigeren.
4. Controleren op NaN in DataFrames met math.isnan()
Voor controles van individuele getallen biedt de functie math.isnan() een simpele maar effectieve oplossing, vooral bij pure Python-datatypen.
import math
# Assuming my_number is a float or can be converted to one
my_number =float('nan')print(math.isnan(my_number))# Output: TrueMogelijk gemaakt door
Learn-by-Example editor, druk op Tab om in te voeren. Druk op Escape en dan Tab of Shift+Tab om eruit te navigeren.
Het identificeren en beheren van NaN-waarden is een basisstap bij het opschonen en voorbereiden van je data voor analyse. Of je nu met arrays, series of dataframes werkt, het is essentieel om de tools en methoden in Python te begrijpen om met ontbrekende data om te gaan. Voor verdere verdieping, bekijk de volgende bronnen:
Adel is docent Data Science, spreker en VP Media bij DataCamp. Adel heeft diverse cursussen en live trainingen uitgebracht over data-analyse, machine learning en data engineering. Hij is gepassioneerd over het verspreiden van datavaardigheden en data-geletterdheid binnen organisaties en de wisselwerking tussen technologie en de samenleving. Hij heeft een MSc in Data Science and Business Analytics. In zijn vrije tijd vind je hem vaak met zijn kat Louis.
Verbeter je datavaardigheden, leer hoe je data kunt bewerken en visualiseren, en gebruik geavanceerde analyses om beslissingen te nemen op basis van data.
Leer de praktische vaardigheden die je nodig hebt om de juiste inzichten te krijgen! Ontdek hoe je API's en webgegevens kunt importeren, opschonen en gebruiken.
Leer hoe je vuile data kunt diagnosticeren en behandelen en ontwikkel de vaardigheden die nodig zijn om je ruwe data om te zetten in nauwkeurige inzichten!
In de wereld van data science en analytics is ontbrekende data eerder regel dan uitzondering. Ontbrekende waarden kunnen analyses vertekenen, tot verkeerde conclusies leiden en de gegevensverwerking verstoren. Het aanpakken van deze gaten is cruciaal om de integriteit van je analyse te behouden. Dit artikel laat je verschillende manieren zien om NaN (Not a Number)-waarden in Python te identificeren.
Het korte antwoord: gebruik ofwel NumPy’s
isnan()-functie of de Pandas-methode.isna()Hoe je in Python met ontbrekende waarden omgaat, hangt vooral af van de datastructuur waarmee je werkt.
Voor losse waarden of arrays: gebruik NumPy
De functie
isnan()van NumPy is ideaal om NaN’s te herkennen in numerieke arrays of losse waarden, en biedt een eenvoudige en efficiënte oplossing. Zo werkt het in de praktijk!Voor DataFrames: gebruik Pandas
Pandas biedt uitgebreide methoden zoals
.isna()en.isnull()om ontbrekende waarden te detecteren in DataFrame- of Series-objecten, en sluit naadloos aan op data-analyseworkflows.Als je deze code draait, geeft de output aan waar NaN-waarden voorkomen in een iets interessantere context, zoals hierboven getoond.
Het verschil tussen
NaNenNoneHet onderscheid tussen
NaNenNoneis belangrijk in Python.NaNis een drijvende-kommarepresentatie van "Not a Number", voornamelijk gebruikt in numerieke berekeningen.Nonedaarentegen is het Python-object dat de afwezigheid van een waarde weergeeft, vergelijkbaar met null in andere talen. WaarNaNvooral wordt gebruikt in wiskundige of wetenschappelijke berekeningen, is None algemener inzetbaar en geeft het een gebrek aan data aan.4 manieren om te controleren op NaN in Python
Door datasets navigeren om ontbrekende waarden te vinden is een cruciale stap in datavoorbewerking. Laten we vier praktische methoden bekijken om op
NaN-waarden te controleren in Python, voortbouwend op de voorbeelden die we al gebruikten.1. Controleren op NaN met np.isnan()
Zoals we eerder zagen, biedt NumPy een directe manier om
NaN-waarden te identificeren in zowel losse waarden als arrays, wat essentieel is voor numerieke data-analyse.2. Controleren op
NaNmetpd.isna()Pandas maakt het eenvoudig om NaN-waarden in datastructuren te detecteren, van scalars tot complexe DataFrames, en is daarmee onmisbaar voor datamanipulatie.
3. Controleren op
NaNin DataFrames met de Pandas-methoden.isna()of.isnull()Pandas DataFrames bieden ook de methoden
.isna()en.isnull()om moeiteloos ontbrekende waarden in datasets te lokaliseren, wat een helder overzicht van de datacompleetheid geeft.4. Controleren op
NaNin DataFrames metmath.isnan()Voor controles van individuele getallen biedt de functie
math.isnan()een simpele maar effectieve oplossing, vooral bij pure Python-datatypen.Tot slot en aanvullende bronnen
Het identificeren en beheren van NaN-waarden is een basisstap bij het opschonen en voorbereiden van je data voor analyse. Of je nu met arrays, series of dataframes werkt, het is essentieel om de tools en methoden in Python te begrijpen om met ontbrekende data om te gaan. Voor verdere verdieping, bekijk de volgende bronnen: