Python eliminar nan de la lista

Python eliminar nan de la lista

El "Nan" o "Nan" es un término simple que representa "no un número" y se usa para representar que los datos no existen en esa ubicación específica. En la mayoría de los idiomas, incluso se considera equivalente a NULL. Sin embargo, en muchos casos, una NAN puede estar presente dentro de una lista que puede detener las operaciones para realizar en la lista. En Python, hay múltiples métodos que permiten al usuario eliminar esta nan de la lista.

Esta guía ilustrará los diferentes métodos que el usuario puede usar para eliminar NAN de una lista. Además, la biblioteca Numpy se utilizará para crear un valor NAN en la lista a lo largo de esta publicación.

Método 1: Uso del operador de comparación

La NAN se puede detectar fácilmente en la lista utilizando una comparación de cadenas simple utilizando el "==" o el "!="Operador. Una vez detectado, el usuario puede optar por eliminarlos de la lista o incluir todos los demás valores en una nueva lista utilizando el método append (). Para demostrar esto, comience importando Numpy y cree una lista con algunos valores de NAN:

De Numpy Import Nan
ListVar = [12, 'String', Nan, 56,69, Nan]


Después de eso, cree una nueva lista que se utilizará para contener los valores que no son NAN:

NewList = []


Después de eso, use un bucle for para iterar a través de cada elemento en la lista "ListVar" y compare con "NAN" después de usar el tipo de Casting de cadena con el método Str (). Al final, agregue los valores que no son NAN en la "nueva lista":

Para el artículo en ListVar:
if (str (elemento) != "nan"):
lista nueva.adjuntar (artículo)


Simplemente simplemente imprima la lista original y la nueva lista en la consola utilizando las siguientes líneas de código:

Imprimir ("Lista original:", ListVar)
Imprimir ("Nueva lista:", NewList)


El fragmento de código completo para este método es el siguiente:

De Numpy Import Nan
ListVar = [12, 'String', Nan, 56,69, Nan]
NewList = []
Para el artículo en ListVar:
if (str (elemento) != "nan"):
lista nueva.adjuntar (artículo)
Imprimir ("Lista original:", ListVar)
Imprimir ("Nueva lista:", NewList)


Cuando se ejecuta este código, produce el siguiente resultado en el terminal:


La salida verifica que los valores "NAN" se han eliminado de la lista.

Método 2: Uso del método ISNAN ()

El método isnan () está presente en el paquete "matemático", así como en el paquete "numpy" y se usa para detectar si un valor es "nan" o no devolviendo un resultado booleano. Sin embargo, este método solo funciona cuando solo hay valores numéricos en la lista junto con NAN.

Para demostrar este método, use el mismo enfoque que se usa en el método uno con algunos pequeños cambios. Para demostrar esto, use el siguiente fragmento de código:

importación matemática
De Numpy Import Nan
listVar = [12, nan, 16,69, nan, 4, nan, 20]
NewList = []
Para el artículo en ListVar:
Si (matemáticas.isnan (artículo) != Verdadero):
lista nueva.adjuntar (artículo)
Imprimir ("Lista original:", ListVar)
Imprimir ("Nueva lista:", NewList)


Cuando se ejecuta este código, produce los siguientes resultados en la consola:


Como puede ver en la imagen de salida anterior, la "Nan" se ha eliminado por completo de la lista. En caso de que desee usar la versión numpy del método isnan (), luego simplemente use el siguiente código:

importar numpy
De Numpy Import Nan
listVar = [12, nan, 16,69, nan, 4, nan, 20]
NewList = []
Para el artículo en ListVar:
Si (Numpy.isnan (artículo) != Verdadero):
lista nueva.adjuntar (artículo)
Imprimir ("Use el paquete Numpy")
Imprimir ("Lista original:", ListVar)
Imprimir ("Nueva lista:", NewList)


Cuando se ejecuta este código, producirá el siguiente resultado en el terminal:


Desde la salida, es observable que los valores de NAN se hayan eliminado de la lista utilizando el método Numpy ISNAN ().

Método 3: Uso del método isnull () desde pandas

La biblioteca Pandas ofrece el método "isNull ()" que se utiliza para detectar valores NAN y NULL. Que es exactamente lo que el usuario requiere para eliminar NAN de una lista. Del mismo modo, al método ISNAN () en la sección anterior, este método también devuelve el resultado en la forma de un valor booleano.

Para demostrar su uso, tome el siguiente fragmento de código:

importación de pandas
De Numpy Import Nan
listVar = [12, nan, 16,69, nan, 4, nan, 20]
NewList = []
Para el artículo en ListVar:
if (pandas.isnull (artículo) != Verdadero):
lista nueva.adjuntar (artículo)
Imprimir ("Use el paquete Pandas")
Imprimir ("Lista original:", ListVar)
Imprimir ("Nueva lista:", NewList)


Cuando se ejecuta este código, producirá el siguiente resultado en el terminal:


Que verifica que los valores "NAN" se han eliminado de la lista utilizando el método isNull () de la biblioteca Pandas.

Nota: Para instalar pandas, simplemente use el comando "PIP instale pandas".

Conclusión

Eliminar los valores de NAN de una lista es más bien una tarea fácil. Para hacer esto, el usuario puede utilizar el operador de comparación con el método de fundición de tipo de cadena str (). Además, el usuario puede hacer uso del método ISNAN () que está presente en la biblioteca Math y Numpy o incluso el método ISNULL () dentro de la biblioteca Pandas.