Ejercicio 16: Operaciones Vectorizadas con Cadenas en Pandas
Este ejercicio tiene como objetivo que los estudiantes trabajen con manipulación de cadenas de texto en Pandas, uso de expresiones regulares y vectorización de operaciones sobre texto. Se trabajará con un dataset de recetas recopiladas de internet para realizar limpieza y análisis de datos textuales.
Objetivos
- Aplicar técnicas de manipulación de texto con Pandas.
- Utilizar expresiones regulares para extraer información.
- Implementar operaciones vectorizadas sobre texto.
- Desarrollar un sistema simple de recomendación de recetas.
Entrada de Datos
El dataset contiene información sobre recetas recopiladas de diversas fuentes en la web, con las siguientes columnas:
id
: Identificador único de la receta.name
: Nombre de la receta.description
: Descripción de la receta.ingredients
: Lista de ingredientes en formato de texto.category
: Categoría de la receta (postres, pastas, carnes, etc.).
Parte A: Carga y Exploración de Datos
Tareas
- Cargar el dataset en un
DataFrame
de Pandas y explorar su contenido. - Identificar datos faltantes y realizar una limpieza inicial.
- Aplicar métodos básicos de manipulación de texto (
.str.lower()
,.str.strip()
,.str.replace()
).
Código Base
import pandas as pd
# Cargar el dataset
# TODO: Implementar
Pregunta de reflexión
¿Por qué es importante la limpieza de texto en datos reales antes de analizarlos?
Parte B: Operaciones Vectorizadas con Pandas
Tareas
Aplicar métodos básicos de Pandas String (
.str
):- Convertir los textos a minúsculas.
- Calcular la longitud de cada texto.
- Identificar si los nombres de recetas comienzan con una letra específica.
División y extracción de texto:
- Separar nombres y apellidos de chefs en nombres compuestos.
- Extraer palabras clave de las descripciones.
Uso de expresiones regulares (
regex
):- Extraer la primera palabra de cada descripción.
- Identificar recetas que contienen palabras clave como
chocolate
,queso
opollo
.
Código Base
# TODO: Implementar operaciones vectorizadas
Pregunta de reflexión
¿Qué ventajas tiene el uso de operaciones vectorizadas en la manipulación de datos textuales?
Parte C: Análisis de Datos con Texto
Tareas
Análisis de longitud de ingredientes:
- Calcular la longitud media de la lista de ingredientes de cada receta.
- Crear un histograma con la distribución de la cantidad de ingredientes en las recetas.
Frecuencia de palabras clave en ingredientes:
- Contar cuántas recetas contienen
sal
,pimienta
,ajo
u otras especias. - Visualizar las frecuencias de palabras clave en un gráfico de barras.
- Contar cuántas recetas contienen
Implementación de un recomendador de recetas:
- Crear un sistema simple que recomiende recetas basadas en ingredientes disponibles.
- Usar
.query()
para encontrar recetas que contengan un conjunto de ingredientes específicos.
Código Base
# TODO: Implementar análisis de datos y recomendador
Pregunta de reflexión
¿Cómo podríamos mejorar este recomendador utilizando técnicas de NLP más avanzadas?
Entrega Esperada
- Código en Python bien estructurado utilizando Pandas y expresiones regulares.
- Limpieza de datos aplicada correctamente.
- Visualizaciones claras de análisis de texto.
- Implementación funcional de un recomendador de recetas basado en texto.