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

201
Visualizações
No se puede aplicar la función lambda a un conjunto de datos

El conjunto de datos contiene una columna Pclass con valores (1, 2, 3) y Edad. La columna Edad tiene algunos valores nulos. Quiero reemplazar esos valores nulos con la edad media de las personas en diferentes clases. La edad promedio de las personas en 1ra clase es 37, 2da clase es 29 y 3ra clase es 24.

Así que aquí está el código de lo que estoy tratando de hacer:

 def fill_age(x): if pd.isna(x['Age']) and x['Pclass'] == 1: return 37 elif pd.isna(x['Age']) and x['Pclass'] == 2: return 29 elif pd.isna(x['Age']) and x['pclass'] == 3: return 24 else: return x['Age'] df['Age'] = df.apply(fill_age)

Pero este es el error que estoy recibiendo:

 KeyError Traceback (most recent call last) <ipython-input-126-7375a6b3c119> in <module> ----> 1 df['Age'] = df.apply(fill_age) KeyError: 'Age'

Por favor, hágame saber lo que estoy haciendo mal. Gracias de antemano.

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

0

Use DataFrame.apply por axis=1 :

 df['Age'] = df.apply(fill_age, axis=1)

Para el uso alternativo vectorizado (más rápido) Series.fillna con mapeo por Series.map por diccionario:

 df['Age'] = df['Age'].fillna(df['Pclass'].map({1:37,2:29,3:24}))
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