Eliminar Python NaN de la lista

"nan" o "NaN" es un término simple que significa "No es un número" y se usa para representar que los datos no existen en esa ubicación en particular. En la mayoría de los idiomas incluso se considera el equivalente de nulo. Sin embargo, en muchos casos, un NaN puede estar presente en una lista, lo que puede detener las operaciones que están a punto de realizarse en la lista. Hay varios métodos en Python que permiten al usuario eliminar este NaN de la lista. Esta guía ilustra los diferentes métodos que el usuario puede usar para eliminar NaN de una lista. Además, la biblioteca numpy se usa para crear un valor nan en la lista de esta publicación.
Método 1: usar el operador de comparación
El NaN se puede encontrar fácilmente en la lista mediante una simple comparación de cadenas con el "==" o el "!=" operador. Una vez reconocido, el usuario puede eliminarlos de la lista o agregar todos los demás valores a una nueva lista usando el método append(). Para demostrar esto, primero importe numpy y cree una lista con algunos valores nan-: from numpy import nanlistVar = [12,'String',nan, 56,69, nan]
Después de eso, cree una nueva lista que se usará para almacenar los valores que no sean NaN: después de eso, use un ciclo for para iterar a través de todos los elementos en la lista listVar y compararlos con nan después de que usó el tipo de cadena emitido con el método str(). Al final, agregue los valores que no sean NaN en newList: for item in listVar: if(str(item) != "nan"): newList.append(item) Por último, simplemente imprima la lista original y el Insert nuevos de list en la consola usando las siguientes líneas de código: print("Lista original: ",listVar)print("Nueva lista: ",newList) El fragmento de código completo para este método es el siguiente: from numpy import nan listVar = [12,'String',nan, 56,69, nan]nueva lista = []for item in listVar: if(str(item) != "nan"): newList.append(item)print("Lista original: ", listVar)print("Nueva lista: ",newList) Cuando se ejecuta este código, Produce el siguiente resultado en la terminal:
El resultado confirma que los valores "nan" se han eliminado de la lista.
Método 2: Usar el método isnan()
El método isnan() está presente en los paquetes matemáticos y numpy y se usa para detectar si un valor es nan o no al devolver un resultado booleano. Sin embargo, este método solo funciona si la lista contiene solo valores numéricos además de nan. Para demostrar este método, use el mismo enfoque que en el Método 1 con algunos pequeños cambios. Para demostrar esto, use el siguiente fragmento de código: import math from numpy import nan listVar = [12,nan,16,69, nan,4,nan,20]nueva lista = []for item in listVar: if(math.isnan(item) != True): newList.append(item)print("Lista original: ", listVar)print("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, "nan" se eliminó por completo de la lista. Si quiere usar la versión numpy del método isnan(), simplemente use el siguiente código: import numpy from numpy import nan listVar = [12,nan,16,69, nan,4,nan,20]nueva lista = []for item in listVar: if(numpy.isnan(item) != True): newList.append(item)print("Usar Numpy Package")print("Lista original: ", listVar)print("Nueva lista: ", newList) Cuando se ejecuta este código, produce el siguiente resultado en la terminal:
El resultado muestra que los valores de NaN se eliminaron de la lista mediante el método numpy isnan().
Método 3: Usar el método pandas isnull()
La biblioteca pandas proporciona el método isnull(), que se utiliza para detectar valores NaN y nulos. Esto es exactamente lo que el usuario necesita para eliminar NaN de una lista. Similar al método isnan() de la sección anterior, este método también devuelve el resultado en forma de un valor booleano. Para demostrar su uso, tome el siguiente fragmento de código: import pandas from numpy import nan listVar = [12,nan,16,69, nan,4,nan,20]nueva lista = []for item in listVar: if(pandas.isnull(item) != True): newList.append(item)print("Usar Pandas Package")print("Lista original: ", listVar)print("Nueva lista: ", newList) Cuando se ejecuta este código, produce el siguiente resultado en la terminal:
Esto comprobará si los valores "nan" se han eliminado de la lista mediante el método isnull() de la biblioteca pandas.
Nota: Para instalar pandas, simplemente use el comando pip install pandas.

Diploma
Eliminar los valores de NaN de una lista es bastante fácil. Para hacer esto, el usuario puede usar el operador de comparación con el método de conversión de tipo de cadena str(). Además, el usuario puede usar el método isnan() presente en las bibliotecas matemáticas y numpy, o incluso el método isnull() en la biblioteca pandas.
Deja una respuesta