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.

Convertir valores categóricos a números personalizados en un dataframe de pandas.

Tengo un dataframe de pandas, en el cual tengo valores categóricos junto con numéricos.
Ahora, en lugar de obtener datos binarios para los datos categóricos, quiero personalizarlos.

Supongamos que tengo valores como “alto” y “bajo”. pandas está dando “bajo = 1” y “alto = 0”, lo cual no deseo.

Por ejemplo:

df_bin=pd.get_dummies(global_df[[‘CATEGORÍA’,’IMPACTO’]])

ahora, la categoría del evento tiene valores “pasado” y la operación anterior da “pasado” como 1 en lugar de 0.

Entonces, ¿cómo puedo hacer que sea 0?

Otra columna es “área” con valores “ventas”, “publicidad”, etc.
Ahora, para estos valores, quiero asignar un número personalizado.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para personalizar la codificación binaria de variables categóricas en pandas, puedes usar la función replace().

    Por ejemplo, si tienes una columna llamada “category” con los valores “high” y “low”, y quieres invertir la codificación binaria para que “high” se codifique como 1 y “low” como 0, puedes usar el siguiente código:

    df['category'] = df['category'].replace({'high': 1, 'low': 0})
    

    Esto reemplazará todas las instancias de “high” por 1 y “low” por 0 en la columna “category” de tu dataframe.

    De manera similar, si quieres asignar números personalizados a los valores de una variable categórica, puedes usar la función replace(). Por ejemplo, si tienes una columna llamada “area” con los valores “sales” y “advertisement”, y quieres codificar “sales” como 1 y “advertisement” como 2, puedes usar el siguiente código:

    df['area'] = df['area'].replace({'sales': 1, 'advertisement': 2})
    

    Esto reemplazará todas las instancias de “sales” por 1 y “advertisement” por 2 en la columna “area” de tu dataframe.

Comments are closed.