De Python pandas DataFrame.dropna() wordt gebruikt om alle rijen of kolommen met ont­bre­ken­de waarden (NaN) uit een DataFrame te ver­wij­de­ren. Dit maakt het bijzonder cruciaal voor het voor­be­rei­den en opschonen van gegevens.

Wat is de syntaxis voor pandas dropna()?

De functie dropna() ac­cep­teert maximaal vijf pa­ra­me­ters. Dit is de syntaxis ervan:

DataFrame.dropna(axis=0, how='any', thresh=None, subset=None, inplace=False, ignore_index=False)
python

Be­lang­rij­ke pa­ra­me­ters voor dropna()

Je kunt pa­ra­me­ters gebruiken om het gedrag van de pandas DataFrame.dropna() -functie te be­ïn­vloe­den. Hier volgt een overzicht van de be­lang­rijk­ste pa­ra­me­ters:

Parameter Be­schrij­ving Stan­daard­waar­de
axis Bepaalt of rijen (0 of index) of kolommen (1 of columns) worden ver­wij­derd 0
how Geeft aan of alle (all) of slechts enkele (any) waarden NaN moeten zijn. any
thresh Geeft het mi­ni­mum­aan­tal niet-NaN-waarden aan dat een rij of kolom moet hebben om ver­wij­de­ring te voorkomen; kan niet worden ge­com­bi­neerd met how. optioneel
subset Geeft aan welke rijen of kolommen als optioneel
inplace Bepaalt of de bewerking wordt uit­ge­voerd op het oor­spron­ke­lij­ke DataFrame False
ignore_index Als True, wordt de res­te­ren­de as gelabeld van 0 tot n-1 False

Hoe pandas DataFrame.dropna() te gebruiken

Pandas dropna() wordt gebruikt om gegevens op te schonen voordat ze worden ge­a­na­ly­seerd. Het ver­wij­de­ren van rijen of kolommen met ont­bre­ken­de waarden helpt om ver­te­ke­nin­gen in sta­tis­ti­sche eva­lu­a­ties te voorkomen. Aangezien ont­bre­ken­de waarden ook kunnen leiden tot problemen met da­ta­vi­su­a­li­sa­tie, is het gebruik van deze functie ook voordelig bij het maken van grafieken en rapporten.

Rijen met ont­bre­ken­de waarden ver­wij­de­ren

In het volgende voorbeeld bekijken we een DataFrame met NaN-waarden:

import pandas as pd
import numpy as np
# Creating a DataFrame with sample data
data = {
    'A': [1, 2, np.nan, 4],
    'B': [5, np.nan, np.nan, 8],
    'C': [9, 10, 11, 12]
}
df = pd.DataFrame(data)
print(df)
python

Het DataFrame ziet er als volgt uit:

A    B   C
0  1.0  5.0   9
1  2.0  NaN  10
2  NaN  NaN  11
3  4.0  8.0  12

Ver­vol­gens gaan we de functie pandas dropna() toepassen:

## Remove all rows that contain at least one NaN value
df_cleaned = df.dropna()
print(df_cleaned)
python

Het uitvoeren van de bo­ven­staan­de code levert het volgende resultaat op:

A    B  C
0  1.0  5.0  9
3  4.0  8.0 12

Aangezien alle andere rijen NaN-waarden bevatten, blijven alleen de nulde en derde rij over.

Kolommen met ont­bre­ken­de waarden ver­wij­de­ren

Op dezelfde manier kunt u kolommen met ont­bre­ken­de waarden ver­wij­de­ren door de parameter axis op 1 in te stellen:

## Remove all columns that contain at least one NaN value
df_cleaned_columns = df.dropna(axis=1)
print(df_cleaned_columns)
python

Kolom C is de enige kolom die over­blijft, aangezien dit de enige kolom is die geen NaN-waarden bevat:

C
0   9
1  10
2  11
3  12

Met behulp van thresh

Als u rijen wilt ver­wij­de­ren die minder dan twee niet-NaN-waarden bevatten, kunt u de parameter thresh gebruiken:

## Only keeps rows that have 2 or more non-NaN values
df_thresh = df.dropna(thresh=2)
print(df_thresh)
python

Het uitvoeren van de code levert de volgende uitvoer op:

A    B   C
0  1.0  5.0   9
1  2.0  NaN  10
3  4.0  8.0  12

Rij 1 wordt niet uit de uitvoer ver­wij­derd omdat deze twee niet-NaN-waarden bevat (2,0 en 10).

Met behulp van subset

Met parameter subset kunt u de kolommen spe­ci­fi­ce­ren waarin het programma naar ont­bre­ken­de waarden moet zoeken. Alleen rijen die ont­bre­ken­de waarden bevatten in de opgegeven kolommen worden ver­wij­derd.

## Removes all rows where column A contains a NaN value
df_subset = df.dropna(subset=['A'])
print(df_subset)
python

Hier wordt alleen de tweede rij ver­wij­derd. De NaN-waarde in de eerste rij wordt genegeerd vanwege de sub­set­pa­ra­me­ter, die alleen rekening houdt met kolom A:

A    B   C
0  1.0  5.0   9
1  2.0  NaN  10
3  4.0  8.0  12
Ga naar hoofdmenu