Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

354
Vistas
¿Cómo verificar si una celda en particular en pandas DataFrame es nula?

Tengo el siguiente df en pandas.

 0 ABC 1 2 NaN 8

¿Cómo puedo comprobar si df.iloc[1]['B'] es NaN?

Intenté usar df.isnan() y obtengo una tabla como esta:

 0 ABC 1 false true false

pero no estoy seguro de cómo indexar la tabla y si esta es una forma eficiente de realizar el trabajo.

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Usepd.isnull , para seleccionar use loc o iloc :

 print (df) 0 ABC 0 1 2 NaN 8 print (df.loc[0, 'B']) nan a = pd.isnull(df.loc[0, 'B']) print (a) True print (df['B'].iloc[0]) nan a = pd.isnull(df['B'].iloc[0]) print (a) True
over 4 years ago · Santiago Trujillo Denunciar

0

La respuesta de Jezrael es perfecta. Si solo le preocupa el valor de NaN, estaba explorando para ver si hay una opción más rápida, ya que en mi experiencia, sumar matrices planas es (extrañamente) más rápido que contar. Este código parece más rápido:

 df.isnull().values.any()

Por ejemplo:

 In [2]: df = pd.DataFrame(np.random.randn(1000,1000)) In [3]: df[df > 0.9] = pd.np.nan In [4]: %timeit df.isnull().any().any() 100 loops, best of 3: 14.7 ms per loop In [5]: %timeit df.isnull().values.sum() 100 loops, best of 3: 2.15 ms per loop In [6]: %timeit df.isnull().sum().sum() 100 loops, best of 3: 18 ms per loop In [7]: %timeit df.isnull().values.any() 1000 loops, best of 3: 948 µs per loop
over 4 years ago · Santiago Trujillo Denunciar

0

Si está buscando los índices de NaN en una columna específica, puede usar

 list(df['B'].index[df['B'].apply(np.isnan)])

En caso de que desee obtener los índices de todos los valores NaN posibles en el marco de datos, puede hacer lo siguiente

 row_col_indexes = list(map(list, np.where(np.isnan(np.array(df))))) indexes = [] for i in zip(row_col_indexes[0], row_col_indexes[1]): indexes.append(list(i))

Y si está buscando una sola línea, puede usar:

 list(zip(*[x for x in list(map(list, np.where(np.isnan(np.array(df)))))]))
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda