Datos categóricos en Python
Los datos categóricos son un tipo de datos en Python que representan categorías o grupos. Estos datos son discretos y no numéricos, lo que significa que no se pueden medir o comparar directamente. Los datos categóricos son comunes en problemas de análisis de datos y aprendizaje automático , ya que se utilizan para representar características o variables que tienen un conjunto finito de categorías o etiquetas.
En Python, los datos categóricos pueden representarse utilizando varios tipos de estructuras de datos, como listas, tuplas, diccionarios o DataFrames de la biblioteca pandas. Aquí hay algunos ejemplos de cómo se pueden representar datos categóricos en Python:
Usando listas o tuplas
Ejemplo
frutas = ['manzana', 'plátano', 'naranja', 'manzana', 'plátano', 'pera']
colores = ('rojo', 'amarillo', 'naranja', 'verde', 'amarillo', 'verde')
pprint(colores)
print(colores)
En este ejemplo, las listas
frutas
y
colores
contienen datos categóricos que representan diferentes tipos de frutas y colores.
Usando diccionarios
Ejemplo
alumnos = {
'Juan': 'Aprobado',
'María': 'Reprobado',
'Pedro': 'Aprobado',
'Ana': 'Aprobado',
'Luis': 'Reprobado'
}
print(alumnos)
print(alumnos)
En este ejemplo, el diccionario
alumnos
representa datos categóricos que indican si un alumno ha sido aprobado o reprobado.
Usando DataFrames de pandas
Ejemplo
df = pd.DataFrame(data)
print(df)
ddf = pd.DataFrame(data)
print(df)
En este ejemplo, el DataFrame
df
contiene datos categóricos en la columna "Ciudad", que representa diferentes ciudades.
El manejo adecuado de datos categóricos es esencial en el análisis de datos y el aprendizaje automático. Es importante convertir los datos categóricos en una forma que pueda ser procesada por los algoritmos de aprendizaje automático, como codificar las categorías en valores numéricos o usar técnicas de codificación one-hot para representar las categorías como variables binarias.
Python ofrece diversas bibliotecas, como pandas y scikit-learn, que proporcionan herramientas y funciones para manejar datos categóricos y realizar tareas de preprocesamiento en el análisis de datos y el aprendizaje automático.
Importar las bibliotecas necesarias.
Para trabajar con datos categóricos, necesitarás importar las bibliotecas pandas y scikit-learn.
Ejemplo
import pandas as pd
from sklearn.preprocessing import LabelEncoder, OneHotEncoder
Cargar los datos
Primero, asegúrate de tener los datos categóricos en un formato adecuado, ya sea en un archivo CSV, Excel o una base de datos. Puedes cargar los datos utilizando pandas:
Ejemplo
import io
file = io.StringIO("Línea de ejemplo\nSegunda línea\n")
import pandas as pd
data = pd.read_csv('datos.csv') #import pandas as pd
data = pd.read_csv('datos.csv') # Reemplaza 'datos.csv' con el nombre de tu archivo de datos
print(data)
Identificar las columnas categóricas
Examina tus datos para identificar qué columnas son categóricas. Puedes hacerlo imprimiendo las primeras filas del DataFrame y observando las columnas relevantes.
Ejemplo
import pandas as pd
data = pd.DataFrame({
"categoria": ["A", "B", "A", "C"],
"valor": [10, 20, 15, 30],
})
print(data.head())
print(data)
Codificar datos categóricos
Hay varias formas de codificar datos categóricos, dependiendo de la naturaleza de tus datos y el modelo que desees entrenar. Algunas opciones comunes son:
- Label Encoding: Convierte las categorías en números enteros. Útil para columnas ordinales donde hay un orden significativo.
Ejemplo
data['categoria_codificada'] = label_encoder.fit_transform(data['categoria'])
print(label_encoder)
One-Hot Encoding
Crea columnas binarias para cada categoría. Útil para columnas nominales donde no hay un orden significativo.
Ejemplo
onehot_encoder = OneHotEncoder(sparse=False)
onehot_encoded = pd.DataFrame(onehot_encoder.fit_transform(data[['categoria']]))
data = pd.concat([data, onehot_encoded], axis=1)
print(data)
print(data)
Eliminar columnas originales (opcional)
Puedes eliminar las columnas originales si lo deseas.
Ejemplo
dadata.drop(['categoria'], axis=1, inplace=True)
print(data)
Utilizar los datos categóricos en tu análisis o modelo
Ahora que los datos categóricos han sido codificados, puedes utilizarlos en tu análisis de datos o para entrenar modelos de aprendizaje automático.
Ejemplo
import pandas as pd
data = pd.DataFrame({
"categoria": ["A", "B", "A", "C"],
"valor": [10, 20, 15, 30],
})
# Ejemplo: Imprimir las pri
# # Ejemplo: Imprimir las primeras filas del DataFrame después de la codificación
print(data.head())
Recuerda adaptar estos pasos según las necesidades específicas de tus datos y el análisis que deseas realizar. El procesamiento de datos categóricos es un paso importante en el análisis de datos y el aprendizaje automático, y puede afectar significativamente los resultados de tus modelos.
Practica Datos categóricos en Python en el editor
Pon en práctica lo aprendido con nuestro editor Python interactivo. Cada ejercicio incluye el código de partida y un botón para abrirlo en una nueva pestaña, donde puedes modificarlo y ejecutarlo.
Ejercicio: Usar print()
En Python, los datos categóricos pueden representarse utilizando varios tipos de estructuras de datos, como listas, tuplas, diccionarios o DataFrames de.
Ejemplo
frutas = ['pera', 'mango', 'fresa', 'pera', 'mango', 'pera']
colores = ('rojo', 'amarillo', 'fresa', 'verde', 'amarillo', 'verde')
pprint(colores)
print(colores)
Ejercicio: En este ejemplo, el diccionario
En este ejemplo, el diccionario alumnos representa datos categóricos que indican si un alumno ha sido aprobado o reprobado.
Ejemplo
import io
file = io.StringIO("Línea de ejemplo\nSegunda línea\n")
import pandas as pd
data = pd.read_csv('datos.csv') #import pandas as pd
data = pd.read_csv('datos.csv') # Reemplaza 'datos.csv' con el nombre de tu archivo de datos
print(data)
Ejercicio: Usar print() (2)
Primero, asegúrate de tener los datos categóricos en un formato adecuado, ya sea en un archivo CSV, Excel o una base de datos. Puedes cargar los datos utilizando pandas.
Ejemplo
data['categoria_codificada'] = label_encoder.fit_transform(data['categoria'])
print(label_encoder)
Ejercicio: Usar print() (3)
Examina tus datos para identificar qué columnas son categóricas. Puedes hacerlo imprimiendo las primeras filas del DataFrame y observando las columnas relevantes.
Ejercicio: Usar print() (4)
Hay varias formas de codificar datos categóricos, dependiendo de la naturaleza de tus datos y el modelo que desees entrenar. Algunas opciones comunes son.
Ejemplo
onehot_encoder = OneHotEncoder(sparse=False)
onehot_encoded = pd.DataFrame(onehot_encoder.fit_transform(data[['categoria']]))
data = pd.concat([data, onehot_encoded], axis=1)
print(data)
Ejercicio: Crea columnas binarias para cada categoría
Crea columnas binarias para cada categoría. Útil para columnas nominales donde no hay un orden significativo.
Ejemplo
import pandas as pd
data = pd.DataFrame({
"categoria": ["A", "B", "A", "C"],
"valor": [10, 20, 15, 30],
})
print(data.head())
print(data)