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

  1. Cargar el dataset en un DataFrame de Pandas y explorar su contenido.
  2. Identificar datos faltantes y realizar una limpieza inicial.
  3. 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

  1. 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.
  2. División y extracción de texto:

    • Separar nombres y apellidos de chefs en nombres compuestos.
    • Extraer palabras clave de las descripciones.
  3. Uso de expresiones regulares (regex):

    • Extraer la primera palabra de cada descripción.
    • Identificar recetas que contienen palabras clave como chocolate, queso o pollo.

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

  1. 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.
  2. 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.
  3. 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.