He estado usando pandas por bastante tiempo. Pero, no entendí cuál es la diferencia entre isna()
y isnull()
en los pandas. Y, lo que es más importante, cuál usar para identificar los valores faltantes en el marco de datos.
¿Cuál es la diferencia básica subyacente de cómo se detecta un valor como na
o null
?
Respuestas:
Pandas
isna()
vsisnull()
.Estoy asumiendo que usted se refiere a
pandas.DataFrame.isna()
frentepandas.DataFrame.isnull()
. No confundir conpandas.isnull()
, que en contraste con los dos anteriores no es un método de la clase DataFrame.¡Estos dos métodos DataFrame hacen exactamente lo mismo! Incluso sus documentos son idénticos. Incluso puedes confirmar esto en el código de los pandas .
Pero, ¿por qué dos métodos con nombres diferentes hacen lo mismo?
Esto se debe a que los marcos de datos de los pandas se basan en los marcos de datos de R. En R
na
ynull
hay dos cosas separadas. Lea esta publicación para más información.Sin embargo, en python, los pandas se construyen sobre numpy, que no
na
null
tiene ni valores. En cambio, numpy tieneNaN
valores (que significa "No es un número"). En consecuencia, los pandas también usanNaN
valores.En breve
Para detectar
NaN
valores de usos numpynp.isnan()
.Para detectar
NaN
valores, los pandas usan.isna()
o.isnull()
.Los
NaN
valores se heredan del hecho de que los pandas se crean sobre numpy, mientras que los nombres de las dos funciones se originan en los marcos de datos de R, cuya estructura y funcionalidad intentaron imitar.fuente