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

224
Vistas
El uso de la función de aplicación funciona, sin embargo, el uso de .assign () ¿no funciona la misma función?

Estoy un poco atascado, tengo una función de trabajo que se puede utilizar usando .apply() , sin embargo, parece que no puedo hacer que funcione con .assign() . Me gustaría que esto funcione con la asignación, para poder encadenar varias transformaciones juntas.

¿Alguien podría indicarme la dirección correcta para resolver el problema?

Esto funciona

 data = {'heading': ['some men', 'some men', 'some women']} dataframe = pd.DataFrame(data=data) def add_gender(x): if re.search("(womens?)", x.heading, re.IGNORECASE): return 'women' elif re.search("(mens?)", x.heading, re.IGNORECASE): return 'men' else: return 'unisex' dataframe['g'] = dataframe.apply(lambda ref: add_gender(ref), axis=1)

Esto no funciona

 dataframe = dataframe.assign(gender = lambda ref: add_gender(ref))

TypeError: cadena esperada u objeto similar a bytes

¿Es esto porque .assign() no proporciona un argumento de eje? Entonces, ¿quizás la función no está buscando lo correcto?

Después de leer la documentación, .assign indica que puede generar una nueva columna, por lo que asumí que el resultado sería el mismo que .apply(axis=1)

over 4 years ago · Santiago Trujillo
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