¿Cómo convertir datos categóricos a datos binarios en Python?

Los Datos Categóricos son datos que corresponden a la Variable Categórica. Una variable categórica es una variable que toma un conjunto fijo y limitado de valores posibles. Por ejemplo Género, Grupo Sanguíneo, que una persona tenga o no residencia en el país, etc.

Características de los datos categóricos:

  • Esto se usa principalmente en Estadística.
  • La operación numérica como suma, resta, etc. en este tipo de datos no es posible.
  • Todos los valores de Datos Categóricos están en Categorías.
  • Por lo general, utiliza la estructura de datos de array.

Ejemplo :

Datos categóricos

Un dato binario es un dato que usa dos estados o valores posibles, es decir, 0 y 1. Los datos binarios se usan principalmente en varios campos, como en informática, los usamos con el nombre Bit (dígito binario), en electrónica digital y matemáticas. como bajo el nombre Valores de verdad, y usamos el nombre Variable binaria en estadísticas.

Características :

  • El (0 y 1) también se conoce como (verdadero y falso), (éxito y fracaso), (sí y no), etc.
  • Los datos binarios son datos discretos y también se utilizan en estadísticas.

Ejemplo :

Datos binarios

Conversión de datos categóricos en datos binarios

Nuestra tarea es convertir datos categóricos en datos binarios como se muestra a continuación en python:

Enfoque paso a paso:

Paso 1) Para convertir datos categóricos en datos binarios, usamos alguna función que está disponible en Pandas Framework. Es por eso que se importa el marco de Pandas

Python3

# import required module
import pandas as pd

Paso 2) Después de eso, se crea una lista y se ingresan los datos como se muestra a continuación.

Python3

# import required modules
import pandas as pd
 
# assign data
data = [["Jagroop", "Male"], ["Praveen", "Male"],
        ["Harjot", "Female"], ["Pooja", "Female"],
        ["Mohit", "Male"]]

Paso 3) Después de que se crea el Dataframe usando pd.DataFrame() y aquí agregamos una línea adicional, es decir, print(data_frame) para mostrar la salida de datos categóricos como se muestra a continuación:

Python3

# import required modules
import pandas as pd
 
# assign data
data = [["Jagroop", "Male"], ["Praveen", "Male"],
        ["Harjot", "Female"], ["Pooja", "Female"],
        ["Mohit", "Male"]]
 
# display categorical output
data_frame = pd.DataFrame(data, columns=["Name", "Gender"])
print(data_frame)

Producción:

Datos categóricos

Paso 4) Hasta el paso 3 obtenemos datos categóricos ahora los convertiremos en datos binarios. Entonces, para eso, tenemos la función incorporada de Pandas, es decir , get_dummies() , como se muestra:

Aquí usamos get_dummies() solo para la columna de género porque aquí queremos convertir datos categóricos a datos binarios solo para la columna de género.

Python3

# import required modules
import pandas as pd
 
# assign data
data = [["Jagroop", "Male"], ["Praveen", "Male"],
        ["Harjot", "Female"], ["Pooja", "Female"],
        ["Mohit", "Male"]]
 
# display categorical output
data_frame = pd.DataFrame(data, columns=["Name", "Gender"])
print(data_frame)
 
# converting to binary data
df_one = pd.get_dummies(data_frame["Gender"])
print(df_one)

salida del paso 4

Aquí obtenemos resultados en código binario solo para la columna de género. Aquí tenemos dos opciones para usarlo sabiamente:

  1. Agregue la salida anterior al marco de datos -> Eliminar columna de género -> Eliminar columna femenina (si queremos Hombre = 1 y Mujer = 0) -> Renombrar Hombre = Género -> Mostrar salida de conversión.
  2. Agregue la salida anterior a Dataframe -> Eliminar columna de género -> Eliminar columna masculina (si queremos Hombre = 0 y Mujer = 1) -> Renombrar Mujer = Género -> Mostrar salida de conversión.

En el siguiente programa, usamos la primera opción y escribimos el código correspondiente, como se muestra a continuación:

Python3

# import required modules
import pandas as pd
 
# assign data
data = [["Jagroop", "Male"], ["Praveen", "Male"],
        ["Harjot", "Female"], ["Pooja", "Female"],
        ["Mohit", "Male"]]
 
# display categorical output
data_frame = pd.DataFrame(data, columns=["Name", "Gender"])
# print(data_frame)
 
# converting to binary data
df_one = pd.get_dummies(data_frame["Gender"])
# print(df_one)
 
# display result
df_two = pd.concat((df_one, data_frame), axis=1)
df_two = df_two.drop(["Gender"], axis=1)
df_two = df_two.drop(["Male"], axis=1)
result = df_two.rename(columns={"Female": "Gender"})
print(result)

Producción:

Producción

A continuación se muestra el programa completo basado en el enfoque anterior:

Python3

# Pandas is imported in order to use various inbuilt
# Functions available in Pandas framework
import pandas as pd
 
# Data is initialized here
data = [["Jagroop", "Male"], ["Parveen", "Male"],
        ["Harjot", "Female"], ["Pooja", "Female"],
        ["Mohit", "Male"]]
 
# Data frame is created under column name Name and Gender
data_frame = pd.DataFrame(data, columns=["Name", "Gender"])
 
# Data of Gender is converted into Binary Data
df_one = pd.get_dummies(data_frame["Gender"])
 
# Binary Data is Concatenated into Dataframe
df_two = pd.concat((df_one, data_frame), axis=1)
 
# Gendercolumn is dropped
df_two = df_two.drop(["Gender"], axis=1)
 
# We want Male =0 and Female =1 So we drop Male column here
df_two = df_two.drop(["Male"], axis=1)
 
# Rename the Column
result = df_two.rename(columns={"Female": "Gender"})
 
# Print the Result
print(result)

Producción:

Producción

Publicación traducida automáticamente

Artículo escrito por jagroopofficial y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *