Python Usuń NAN z listy

Python Usuń NAN z listy

„NAN” lub „NAN” to prosty termin, który oznacza „nie liczbę” i służy do reprezentowania danych w tej konkretnej lokalizacji. W większości języków jest nawet uważane za równoważne z Null. Jednak w wielu przypadkach NAN może znajdować się na liście, która może zatrzymać operacje, które można wykonać na liście. W Python istnieje wiele metod, które pozwalają użytkownikowi usunąć ten NAN z listy.

Ten przewodnik ilustruje różne metody, których użytkownik może użyć do usunięcia NAN z listy. Dodatkowo biblioteka Numpy zostanie użyta do utworzenia wartości NAN na liście w tym poście.

Metoda 1: Korzystanie z operatora porównawczego

NAN można łatwo wykryć na liście za pomocą prostego porównania ciągów za pomocą „==" albo "!=„Operator. Po wykryciu użytkownik może wybrać ich usuwanie z listy lub dołączyć wszystkie inne wartości na nowej liście za pomocą metody append (). Aby to zademonstrować, zacznij od importu Numpy i utwórz listę z niektórymi wartościami NAN:

od Numpy Import Nan
Listvar = [12, „String”, Nan, 56,69, Nan]


Następnie utwórz nową listę, która zostanie użyta do przechowywania wartości innych niż nan:

newList = []


Następnie użyj pętli do iteracji za pośrednictwem każdego elementu na liście „ListVar” i porównaj go z „NAN” po użyciu odlewu typu ciągów za pomocą metody str (). Ostatecznie dołącz wartości inne niż nan do „NewList”:

dla pozycji w ListVar:
if (str (pozycja) != „nan”):
Nowa lista.Dodatek (pozycja)


Ostatni po prostu wydrukuj oryginalną listę i nową listę na konsoli za pomocą następujących wierszy kodu:

Drukuj („Oryginalna lista:”, ListVar)
Drukuj („Nowa lista:”, NewList)


Kompletny fragment kodu dla tej metody jest następujący:

od Numpy Import Nan
Listvar = [12, „String”, Nan, 56,69, Nan]
newList = []
dla pozycji w ListVar:
if (str (pozycja) != „nan”):
Nowa lista.Dodatek (pozycja)
Drukuj („Oryginalna lista:”, ListVar)
Drukuj („Nowa lista:”, NewList)


Po wykonaniu tego kodu, daje następujący wynik na terminalu:


Wyjście weryfikuje, że wartości „NAN” zostały usunięte z listy.

Metoda 2: Za pomocą metody isnan ()

Metoda isnan () jest obecna w pakiecie „Math”, a także w pakiecie „Numpy” i służy do wykrywania, czy wartość to „nan”, czy nie, zwracając wynik logiczny. Jednak ta metoda działa tylko wtedy, gdy na liście znajdują się tylko wartości liczbowe wraz z NAN.

Aby zademonstrować tę metodę, zastosuj to samo podejście, które stosowano w metodzie pierwszej z kilkoma małymi zmianami. Aby to zademonstrować, użyj następującego fragmentu kodu:

Importuj matematyka
od Numpy Import Nan
Listvar = [12, Nan, 16,69, Nan, 4, Nan, 20]
newList = []
dla pozycji w ListVar:
if (matematyka.isnan (pozycja) != Prawda):
Nowa lista.Dodatek (pozycja)
Drukuj („Oryginalna lista:”, ListVar)
Drukuj („Nowa lista:”, NewList)


Po wykonaniu tego kodu daje następujące wyniki na konsoli:


Jak widać na powyższym obrazie wyjściowym, „nan” został całkowicie usunięty z listy. W przypadku, gdy chcesz użyć wersji Numpy Method isnan (), po prostu użyj następującego kodu:

Importuj Numpy
od Numpy Import Nan
Listvar = [12, Nan, 16,69, Nan, 4, Nan, 20]
newList = []
dla pozycji w ListVar:
if (Numpy.isnan (pozycja) != Prawda):
Nowa lista.Dodatek (pozycja)
Drukuj („Użyj pakietu Numpy”)
Drukuj („Oryginalna lista:”, ListVar)
Drukuj („Nowa lista:”, NewList)


Po wykonaniu tego kodu wytworzy on następujący wynik na terminalu:


Ze wyjścia można zaobserwować, że wartości NAN zostały usunięte z listy za pomocą metody Numpy isnan ().

Metoda 3: Za pomocą metody isNull () z pandy

Biblioteka PandaS oferuje metodę „isNull ()”, która jest używana do wykrywania wartości NAN i NULL. Właśnie to, czego użytkownik potrzebuje, aby usunąć NAN z listy. Podobnie, do metody isnan () w powyższej sekcji, metoda ta zwraca również wynik wartości wartości logicznej.

Aby zademonstrować jego użycie, weź następujący fragment kodu:

importować pandy
od Numpy Import Nan
Listvar = [12, Nan, 16,69, Nan, 4, Nan, 20]
newList = []
dla pozycji w ListVar:
if (pand.isNull (pozycja) != Prawda):
Nowa lista.Dodatek (pozycja)
Drukuj („Użyj pakietu pandy”)
Drukuj („Oryginalna lista:”, ListVar)
Drukuj („Nowa lista:”, NewList)


Po wykonaniu tego kodu daje następujący wynik na terminalu:


To weryfikuje, że wartości „nan” zostały usunięte z listy za pomocą metody isNull () z biblioteki pandas.

Notatka: Aby zainstalować pandy, po prostu użyj polecenia „PIP Instal pand”.

Wniosek

Usunięcie wartości NAN z listy jest raczej łatwym zadaniem. Aby to zrobić, użytkownik może skorzystać z operatora porównawczego z metodą odlewania typu ciągów str (). Ponadto użytkownik może skorzystać z metody isnan (), która jest obecna w matematyce i bibliotece Numpy lub nawet metodzie isNull () w bibliotece PandaS.