Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

671
Visualizações
Pandas: encuentre el primer valor no nulo en la columna

Si tengo una serie que tiene NULL o algún valor no nulo. ¿Cómo puedo encontrar la primera fila donde el valor no es NULL para poder informar el tipo de datos al usuario? Si el valor no es nulo, todos los valores son del mismo tipo de datos en esa serie.

Gracias

over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

Puede usar first_valid_index con select by loc :

 s = pd.Series([np.nan,2,np.nan]) print (s) 0 NaN 1 2.0 2 NaN dtype: float64 print (s.first_valid_index()) 1 print (s.loc[s.first_valid_index()]) 2.0 # If your Series contains ALL NaNs, you'll need to check as follows: s = pd.Series([np.nan, np.nan, np.nan]) idx = s.first_valid_index() # Will return None first_valid_value = s.loc[idx] if idx is not None else None print(first_valid_value) None
over 4 years ago · Santiago Trujillo Relatório

0

Para una serie, esto devolverá el primer valor no nulo:

Creación de series:

 s = pd.Series(index=[2,4,5,6], data=[None, None, 2, None])

que crea esta Serie:

 2 NaN 4 NaN 5 2.0 6 NaN dtype: float64

Puede obtener el primer valor que no sea NaN usando:

 s.loc[~s.isnull()].iloc[0]

que regresa

 2.0

Si, por otro lado, tiene un marco de datos como este:

 df = pd.DataFrame(index=[2,4,5,6], data=np.asarray([[None, None, 2, None], [1, None, 3, 4]]).transpose(), columns=['a', 'b'])

que se ve así:

 ab 2 None 1 4 None None 5 2 3 6 None 4

puede seleccionar por columna el primer valor no nulo usando esto (para la columna a):

 df.a.loc[~df.a.isnull()].iloc[0]

o si desea que la primera fila no contenga valores nulos en ningún lugar, puede usar:

 df.loc[~df.isnull().sum(1).astype(bool)].iloc[0]

que devuelve:

 a 2 b 3 Name: 5, dtype: object
over 4 years ago · Santiago Trujillo Relatório

0

También puede usar el método get en su lugar

 (Pdb) type(audio_col) <class 'pandas.core.series.Series'> (Pdb) audio_col.first_valid_index() 19 (Pdb) audio_col.get(first_audio_idx) 'first-not-nan-value.ogg'
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda