python: ¿cómo puedo verificar los valores de NaN?
Comparación pd.isna
, math.isnan
y np.isnan
y su flexibilidad para tratar con diferentes tipos de objetos.
La siguiente tabla muestra si el tipo de objeto se puede verificar con el método dado:
+------------+-----+---------+------+--------+------+
| Method | NaN | numeric | None | string | list |
+------------+-----+---------+------+--------+------+
| pd.isna | yes | yes | yes | yes | yes |
| math.isnan | yes | yes | no | no | no |
| np.isnan | yes | yes | no | no | yes | <-- # will error on mixed type list
+------------+-----+---------+------+--------+------+
pd.isna
El método más flexible para verificar diferentes tipos de valores perdidos.
Ninguna de las respuestas cubre la flexibilidad de pd.isna
. Tiempo math.isnan
y np.isnan
volverá True
por NaN
valores, no puede buscar diferentes tipos de objetos como None
o cuerdas. Ambos métodos devolverán un error, por lo que comprobar una lista con tipos mixtos será engorroso. Este mientras pd.isna
es flexible y devolverá el booleano correcto para diferentes tipos de tipos:
In [1]: import pandas as pd
In [2]: import numpy as np
In [3]: missing_values = [3, None, np.NaN, pd.NA, pd.NaT, '10']
In [4]: pd.isna(missing_values)
Out[4]: array([False, True, True, True, True, False])
Subir
Deja una respuesta