Pregunta: ¿se pueden combinar 4 tablas relacionadas de un sistema real (calificaciones, películas, etiquetas, enlaces externos) en una sola tabla analítica, sin perder filas ni introducir duplicados o nulos fantasma?
Resultado en una frase: 100,836 calificaciones sobre 9,742 películas integradas en una tabla analítica única, con cada unión (concat, merge) validada antes/después.
Combinar 4 tablas relacionadas (calificaciones, películas, etiquetas, enlaces externos) en una sola tabla analítica lista para análisis, aplicando concat(), merge() y validación de cada unión.
MovieLens ml-latest-small (GroupLens Research, Universidad de Minnesota) — ratings.csv, movies.csv, tags.csv, links.csv (userId/movieId como claves de relación entre tablas). 100,836 calificaciones y 3,683 etiquetas de 610 usuarios sobre 9,742 películas.
Dataset de uso público para fines de investigación/educación bajo la licencia de GroupLens (no comercial, redistribuible bajo las mismas condiciones). Cita oficial: Harper, F.M. & Konstan, J.A. (2015). The MovieLens Datasets: History and Context. ACM TiiS 5(4): 19:1–19:19. DOI: 10.1145/2827872. Fuente: grouplens.org/datasets/movielens
- Carga y exploración: qué tablas se pueden relacionar y por qué (clave común
movieId). concat(): se divideratingsen dos partes y se reconstruye, verificando que no se pierden filas.merge():ratings+movies+linksusandomovieIdcomo clave.- Validación de la integración: tamaño del dataset antes/después, nulos nuevos, duplicados inesperados, cobertura de claves.
- Tabla analítica final: calificación, película, género, fecha, enlaces externos + columnas derivadas (año, mes, género principal).
- Análisis final: géneros con mejor rating promedio, películas más calificadas, años con más actividad — con 5 gráficos adicionales (barras, línea, histograma, boxplot).
- La unión por
movieIdno introdujo nulos nuevos ni duplicados inesperados — validación exitosa. - Se identificó el género principal con mejor rating promedio y las películas con más calificaciones.
- La actividad de calificaciones varía por año, visible en la tabla analítica exportada.
Python (pandas, NumPy) · Matplotlib/Seaborn
├── README.md
├── requirements.txt # Dependencias Python (pip install -r requirements.txt)
├── integracion_multitabla_movielens.ipynb # Notebook completo (6 partes: carga, concat, merge, validación, tabla analítica, análisis)
├── ratings.csv / movies.csv / tags.csv / links.csv # Datos originales MovieLens
├── tabla_analitica_final.csv # Tabla analítica integrada (salida del proyecto)
└── results/ # Gráficos exportados del notebook
├── movielens_01.png
├── movielens_02.png
├── movielens_03.png
├── movielens_04.png
└── movielens_05.png
