Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

352
Views
¿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 answers
Answer question

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 Report

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!