Python Rimuovi NAN dalla lista

Python Rimuovi NAN dalla lista

Il "nan" o "nan" è un termine semplice che sta per "non un numero" e viene utilizzato per rappresentare che i dati non esistono in quella posizione specifica. Nella maggior parte delle lingue, è persino considerato equivalente a null. Tuttavia, in molti casi, un NAN può essere presente all'interno di un elenco che può fermare le operazioni da eseguire nell'elenco. In Python, ci sono più metodi che consentono all'utente di rimuovere questo NAN dall'elenco.

Questa guida illustrerà i diversi metodi che l'utente può utilizzare per rimuovere NAN da un elenco. Inoltre, la libreria Numpy verrà utilizzata per creare un valore NAN nell'elenco in questo post.

Metodo 1: utilizzando l'operatore di confronto

Il NAN può essere facilmente rilevato nell'elenco utilizzando un semplice confronto di stringhe usando "==" o il "!="Operatore. Una volta rilevato, l'utente può scegliere di eliminarli dall'elenco o includere tutti gli altri valori in un nuovo elenco utilizzando il metodo Append (). Per dimostrarlo, inizia importando Numpy e crea un elenco con alcuni valori NAN:

da numpy import nan
listVar = [12, 'String', nan, 56,69, nan]


Successivamente crea un nuovo elenco che verrà utilizzato per contenere i valori non NAN:

newlist = []


Successivamente, usa un ciclo per iterare attraverso ogni elemento nell'elenco "ListVar" e confrontarlo con "NAN" dopo aver utilizzato la fusione del tipo di stringa con il metodo STR (). Alla fine, aggiungi i valori non NAN nel "neotio":

Per l'elemento in Listvar:
if (STR (articolo) != "nan"):
Newlist.append (articolo)


Ultimo stampare semplicemente l'elenco originale e il nuovo elenco sulla console utilizzando le seguenti righe di codice:

Print ("Elenco originale:", ListVar)
Print ("Nuovo elenco:", newlist)


Lo snippet di codice completo per questo metodo è il seguente:

da numpy import nan
listVar = [12, 'String', nan, 56,69, nan]
newlist = []
Per l'elemento in Listvar:
if (STR (articolo) != "nan"):
Newlist.append (articolo)
Print ("Elenco originale:", ListVar)
Print ("Nuovo elenco:", newlist)


Quando questo codice viene eseguito, produce il seguente risultato sul terminale:


L'output verifica che i valori "nan" siano stati rimossi dall'elenco.

Metodo 2: usando il metodo isNan ()

Il metodo isNan () è presente nel pacchetto "matematica" e nel pacchetto "numpy" e viene utilizzato per rilevare se un valore è o meno "nan" o meno restituendo un risultato booleano. Tuttavia, questo metodo funziona solo quando ci sono solo valori numerici nell'elenco insieme a NAN.

Per dimostrare questo metodo, utilizzare lo stesso approccio usato nel metodo uno con alcune piccole modifiche. Per dimostrarlo, utilizzare il seguente frammento di codice:

Importa matematica
da numpy import nan
listVar = [12, nan, 16,69, nan, 4, nan, 20]
newlist = []
Per l'elemento in Listvar:
Se (matematica.isnan (articolo) != Vero):
Newlist.append (articolo)
Print ("Elenco originale:", ListVar)
Print ("Nuovo elenco:", newlist)


Quando viene eseguito questo codice, produce i seguenti risultati sulla console:


Come puoi vedere nell'immagine di output sopra, il "NAN" è stato rimosso interamente dall'elenco. Nel caso in cui si desideri utilizzare la versione numpy del metodo isNan (), quindi utilizzare semplicemente il seguente codice:

importa numpy
da numpy import nan
listVar = [12, nan, 16,69, nan, 4, nan, 20]
newlist = []
Per l'elemento in Listvar:
Se (numpy.isnan (articolo) != Vero):
Newlist.append (articolo)
Stampa ("Usa il pacchetto numpy")
Print ("Elenco originale:", ListVar)
Print ("Nuovo elenco:", newlist)


Quando questo codice viene eseguito, produrrà il seguente risultato sul terminale:


Dall'output, si osserva che i valori NAN sono stati rimossi dall'elenco usando il metodo Numpy Isnan ().

Metodo 3: usando il metodo isNull () da Panda

La libreria Pandas offre il metodo "isnull ()" che viene utilizzato per rilevare i valori NAN e null. Che è esattamente ciò che l'utente richiede di rimuovere NAN da un elenco. Allo stesso modo, al metodo isNan () nella sezione sopra, questo metodo restituisce anche il risultato sotto forma di un valore booleano.

Per dimostrare il suo utilizzo, prendi il seguente frammento di codice:

Panda di importazione
da numpy import nan
listVar = [12, nan, 16,69, nan, 4, nan, 20]
newlist = []
Per l'elemento in Listvar:
Se (panda.isNull (articolo) != Vero):
Newlist.append (articolo)
Stampa ("Usa il pacchetto Pandas")
Print ("Elenco originale:", ListVar)
Print ("Nuovo elenco:", newlist)


Quando questo codice viene eseguito, produrrà il seguente risultato sul terminale:


Ciò verifica che i valori "nan" siano stati rimossi dall'elenco utilizzando il metodo isNull () dalla libreria Pandas.

Nota: Per installare i panda, utilizzare semplicemente il comando "PIP Installa Pandas".

Conclusione

Rimuovere i valori NAN da un elenco è piuttosto un compito facile. Per fare ciò, l'utente può utilizzare l'operatore di confronto con il metodo di fusione del tipo di stringa STR (). Inoltre, l'utente può utilizzare il metodo isNan () presente nella matematica e nella libreria numpy o persino nel metodo isNull () all'interno della libreria Pandas.