Comprobar si una celda está vacía en Pandas
-
Use la función
isnull()
para verificar si la celda está vacía -
Use la función
any
() para verificar si la celda está vacía -
Use la función
isnan
para verificar si la celda está vacía
Los datos vacíos son malos y no buenos cuando necesitamos comparar, combinar o extraer información útil, por lo que es importante saber si existen.
Cuando cargamos nuestros datos CSV en Pandas como un marco de datos, cada dato está presente dentro de una celda y cada celda vacía representa datos vacíos. En este artículo, le mostraremos tres enfoques que podemos usar para verificar si una celda está vacía en Pandas
.
Use la función isnull()
para verificar si la celda está vacía
Para mostrar las funciones en acción, crearemos un marco de datos de Pandas dentro de algunas celdas vacías.
Código:
import pandas as pd
import numpy as np
df = pd.DataFrame([[1, 2, 3], [3, 4], [3, 4, 5, 6]], columns=list("ABCD"))
print(df)
Producción :
A B C D
0 1 2 3.0 NaN
1 3 4 NaN NaN
2 3 4 5.0 6.0
Ahora que tenemos un marco de datos con 3 celdas vacías, podemos jugar con la función isnull()
, que está diseñada para encontrar valores faltantes para objetos tipo matriz: NaN
, Ninguno
o NaT
- y devuelve un valor booleano
que indica si está presente o no un valor faltante. Puede aplicar la función isnull()
en todo el marco de datos, una columna específica o una celda específica.
Para verificar el marco de datos o una columna específica, pasaremos el marco de datos como argumento.
print(pd.isnull(df))
print(pd.isnull(df["C"]))
Producción :
A B C D
0 False False False True
1 False False True True
2 False False False False
0 False
1 True
2 False
Name: C, dtype: bool
El marco de datos se muestra con valores booleanos que indican si hay un valor vacío o no, donde False
significa un valor no vacío y True
significa un valor vacío.
Pero más preocupados por verificar si una celda está vacía, podemos usar los métodos loc
e iloc
junto con el método isnull()
.
Si queremos comprobar la celda (índice 1
en la columna C
, que contiene NaN
), el siguiente código será el adecuado para seleccionar y realizar la comprobación.
Código:
print(pd.isnull(df.loc[1, "C"]))
print(pd.isnull(df["C"].iloc[1]))
Producción :
True
True
Use la función any
() para verificar si la celda está vacía
Otra función que puede permitirnos comprobar si alguna celda del marco de datos está vacía es la función any
(). Siempre que una celda esté vacía, la función devuelve True
y, en caso contrario, False
.
Necesitamos usar la función isnull()
y la propiedad values
para que funcione.
Usando el mismo marco de datos de la sección anterior, el siguiente código usa la función isnull
() en el marco de datos y ahora contiene solo valores booleanos para indicar vacío, y se puede acceder a los valores booleanos a través de la propiedad valores
que se puede encadenar a la función cualquiera()
.
Código:
print(df.isnull().values.any())
Producción :
True
Use la función isnan
para verificar si la celda está vacía
Podemos almacenar el índice que tiene su celda vacía en una columna en una lista usando las funciones index
y apply()
, así como la prueba numpy.isnan
.
Seleccionaremos la columna y luego usaremos la función index
para lograr esto. Dentro del método index
, volvemos a seleccionar la misma columna para usar la función apply()
con el test numpy.isnan
.
Estos se pasarán a la función list()
.
Código:
list(df["D"].index[df["D"].apply(np.isnan)])
Producción :
[0, 1]
Con esto, tenemos el índice (0
y 1
) de las celdas vacías dentro de la columna D
.
Olorunfemi is a lover of technology and computers. In addition, I write technology and coding content for developers and hobbyists. When not working, I learn to design, among other things.
LinkedIn