Introductie
In deze tutorial leer je hoe je de dropna()
functie van panda’s DataFrame gebruikt.
NA
-waarden zijn “Niet Beschikbaar”. Dit kan van toepassing zijn op Null
, None
, pandas.NaT
, of numpy.nan
. Door dropna()
te gebruiken, verwijder je de rijen en kolommen met deze waarden. Dit kan voordelig zijn om je alleen geldige gegevens te geven.
Standaard retourneert deze functie een nieuwe DataFrame en blijft de oorspronkelijke DataFrame ongewijzigd.
Deze tutorial is geverifieerd met Python 3.10.9, pandas 1.5.2, en NumPy 1.24.1.
Syntax
dropna()
accepteert de volgende parameters:
axis
:{0 (of 'index'), 1 (of 'columns')}, standaard 0
- Als
0
, verwijder rijen met ontbrekende waarden. - Als
1
, verwijder kolommen met ontbrekende waarden. how
:{'any', 'all'}, standaard 'any'
- Als
'any'
, verwijder de rij of kolom als een van de waardenNA
is. - Als
'all'
, verwijder de rij of kolom als alle waardenNA
zijn. thresh
: (optioneel) eenint
-waarde om de drempel voor de verwijderingsbewerking aan te geven.subset
: (optioneel) kolomlabel of reeks labels om rijen of kolommen te specificeren.inplace
: (optioneel) eenbool
-waarde.- Als
True
, wordt de bron DataFrame gewijzigd en wordtNone
geretourneerd.
Constructie van Voorbeeldgegevensreeksen
Construeer een voorbeeld DataFrame die geldige en ongeldige waarden bevat:
Deze code zal de DataFrame afdrukken:
OutputName ID Population Regions
0 Shark 1 100 1
1 Whale 2 200 None
2 Jellyfish 3 NaN NaT
3 Starfish 4 NaT NaT
Voeg vervolgens een tweede DataFrame toe met extra rijen en kolommen met NA
-waarden:
Dit zal een nieuwe DataFrame opleveren:
OutputName ID Population Regions Endangered
0 Shark 1 100 1 NaT
1 Whale 2 200 None NaT
2 Jellyfish 3 NaN NaT NaT
3 Starfish 4 NaT NaT NaT
4 NaT NaT NaT NaT NaT
U zult de voorgaande DataFrames gebruiken in de voorbeelden die volgen.
Alle rijen verwijderen met ontbrekende waarden
Gebruik dropna()
om rijen te verwijderen met enige None
, NaN
, of NaT
-waarden:
Dit zal uitvoeren:
OutputName ID Population Regions
0 Shark 1 100 1
A new DataFrame with a single row that didn’t contain any NA
values.
Alle kolommen laten vallen met ontbrekende waarden
Gebruik dropna()
met axis=1
om kolommen te verwijderen met eventuele None
, NaN
of NaT
waarden:
De kolommen met eventuele None
, NaN
of NaT
waarden worden verwijderd:
OutputName ID
0 Shark 1
1 Whale 2
2 Jellyfish 3
3 Starfish 4
A new DataFrame with a single column that contained non-NA
values.
Rijen of kolommen laten vallen als alle
waarden Null
zijn met how
Gebruik het tweede DataFrame en how
:
De rijen met alle
waarden gelijk aan NA
worden verwijderd:
OutputName ID Population Regions Endangered
0 Shark 1 100 1 NaT
1 Whale 2 200 None NaT
2 Jellyfish 3 NaN NaT NaT
3 Starfish 4 NaT NaT NaT
De vijfde rij is verwijderd.
Vervolgens, gebruik how
en specificeer de axis
:
De kolommen met alle
waarden gelijk aan NA
worden verwijderd:
OutputName ID Population Regions
0 Shark 1 100 1
1 Whale 2 200 None
2 Jellyfish 3 NaN NaT
3 Starfish 4 NaT NaT
4 NaT NaT NaT NaT
De vijfde kolom is verwijderd.
Het laten vallen van rijen of kolommen als een drempel wordt overschreden met thresh
Gebruik het tweede DataFrame met thresh
om rijen te laten vallen die niet voldoen aan de drempel van minstens 3
niet-NA
waarden:
De rijen die niet minstens 3
niet-NA
waarden hebben, worden verwijderd:
OutputName ID Population Regions Endangered
0 Shark 1 100 1 NaT
1 Whale 2 200 None NaT
De derde, vierde en vijfde rijen zijn verwijderd.
Het laten vallen van rijen of kolommen voor specifieke subsets
Gebruik het tweede DataFrame met subset
om rijen met NA
waarden in de Population
kolom te laten vallen:
De rijen met Population
die NA
waarden hebben, worden verwijderd:
OutputName ID Population Regions Endangered
0 Shark 1 100 1 NaT
1 Whale 2 200 None NaT
De derde, vierde en vijfde rijen zijn verwijderd.
U kunt ook de index
waarden specificeren in de subset
bij het laten vallen van kolommen uit het DataFrame:
De kolommen die NA
waarden bevatten in een subset van rijen 1
en 2
:
OutputName ID
0 Shark 1
1 Whale 2
2 Jellyfish 3
3 Starfish 4
4 NaT NaT
De derde, vierde en vijfde kolommen zijn verwijderd.
Het wijzigen van de bron DataFrame na het verwijderen van rijen of kolommen met inplace
Standaard wijzigt dropna()
de bron DataFrame niet. In sommige gevallen wilt u echter mogelijk geheugen besparen bij het werken met een grote bron DataFrame door inplace
te gebruiken.
Deze code maakt geen gebruik van een dfresult
variabele.
Dit zal uitvoeren:
OutputName ID Population Regions
0 Shark 1 100 1
De oorspronkelijke DataFrame is gewijzigd.
Conclusie
In dit artikel hebt u de dropna()
-functie gebruikt om rijen en kolommen met NA
-waarden te verwijderen.
Ga verder met uw leerproces met meer Python- en pandas-tutorials – Python pandas Module Tutorial, pandas Dubbele Rijen Verwijderen.
Referenties
Source:
https://www.digitalocean.com/community/tutorials/pandas-dropna-drop-null-na-values-from-dataframe