Hoe nan-waarden uit de numpy-array te verwijderen (3 methoden)


U kunt de volgende methoden gebruiken om NaN-waarden uit een NumPy-array te verwijderen:

Methode 1: Gebruik isnan()

 new_data = data[~np. isnan (data)]

Methode 2: Gebruik isfinite()

 new_data = data[np. isfinite (data)]

Methode 3: Gebruik logische_not()

 new_data = data[np. logical_not (np. isnan (data))]

Elk van deze methoden levert hetzelfde resultaat op, maar de eerste methode is het kortst in te voeren en wordt daarom het vaakst gebruikt.

De volgende voorbeelden laten zien hoe u elke methode in de praktijk kunt gebruiken.

Voorbeeld 1: NaN-waarden verwijderen met isnan()

De volgende code laat zien hoe u NaN-waarden uit een NumPy-array kunt verwijderen met behulp van de isnan()- functie:

 import numpy as np

#create array of data
data = np. array ([4, np.nan, 6, np.nan, 10, 11, 14, 19, 22])

#define new array of data with nan values removed
new_data = data[~np. isnan (data)]

#view new array
print (new_data)

[4. 6. 10. 11. 14. 19. 22.]

Merk op dat beide NaN-waarden met succes uit de NumPy-array zijn verwijderd.

Deze methode behoudt eenvoudigweg alle array-elementen die geen (~)NaN-waarden zijn.

Voorbeeld 2: NaN-waarden verwijderen met isfinite()

De volgende code laat zien hoe u NaN-waarden uit een NumPy-array kunt verwijderen met behulp van de isfinite()- functie:

 import numpy as np

#create array of data
data = np. array ([4, np.nan, 6, np.nan, 10, 11, 14, 19, 22])

#define new array of data with nan values removed
new_data = data[np. isfinite (data)]

#view new array
print (new_data)

[4. 6. 10. 11. 14. 19. 22.]

Merk op dat beide NaN-waarden met succes uit de NumPy-array zijn verwijderd.

Deze methode behoudt eenvoudigweg alle array-elementen die eindige waarden zijn.

Omdat de NaN-waarden niet eindig zijn, worden ze uit de tabel verwijderd.

Voorbeeld 3: NaN-waarden verwijderen met Logical_not()

De volgende code laat zien hoe u NaN-waarden uit een NumPy-array verwijdert met behulp van de functielogical_not() :

 import numpy as np

#create array of data
data = np. array ([4, np.nan, 6, np.nan, 10, 11, 14, 19, 22])

#define new array of data with nan values removed
new_data = data[np. logical_not (np. isnan (data))]
#view new array
print (new_data)

[4. 6. 10. 11. 14. 19. 22.]

Merk op dat beide NaN-waarden met succes uit de NumPy-array zijn verwijderd.

Hoewel deze methode gelijkwaardig is aan de vorige twee, vereist deze meer typewerk en wordt deze daarom niet zo vaak gebruikt.

Aanvullende bronnen

In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende bewerkingen in Python uitvoert:

Panda’s: lege tekenreeksen vervangen door NaN
Panda’s: hoe NaN-waarden te vervangen door een string

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert