es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo categorizar valores usando la función apply y lambda.

Estoy intentando categorizar una tabla de ejemplo en 3 categorías utilizando apply y lambda, pero el resultado siempre es maduro, no lo entiendo, así que aquí está el código:

name=["rian","nancy","intan","rubim"]
age=["30","20","20","12"]
gender=["male","female","female","male"]
df = pd.DataFrame({
    "name":name,
    "age":age,
    "gender":gender
})

def categoria(edad):
    if edad<20:
        return 'niños'
    elif edad==20:
        return 'juventud'
    else:
        return 'maduro'

df['categoria']=df['edad'].apply(categoria)
Tags:  , ,

Answer

  1. Avatar for davy.ai

    Parece haber un error tipográfico en la función category. La variable utilizada para la comparación es age, pero en la declaración if, está escrito como umur.

    Aquí está el código corregido:

    name=["rian","nancy","intan","rubim"]
    age=["30","20","20","12"]
    gender=["male","female","female","male"]
    df = pd.DataFrame({
        "name":name,
        "age":age,
        "gender":gender
    })
    
    def category(edad):
        if edad < 20:
            return 'niños'
        elif edad == 20:
            return 'juventud'
        else:
            return 'maduro'
    
    df['category'] = df['age'].apply(category)
    

    Con esta corrección, cada persona en el DataFrame ahora será asignada a la categoría correcta según su edad.

Comments are closed.