🎬 Explorando Netflix: descubriendo los patrones detrás de tus series y películas favoritas¶
Contexto¶
Trabajamos con un catálogo público de 6.234 títulos de Netflix (películas y series) para comprender composición del catálogo, tendencias temporales, distribución geográfica y perfiles de audiencias por rating. El dataset contiene 12 columnas (metadatos como type, title, director, cast, country, date_added, release_year, rating, duration, listed_in, etc.) sin variables numéricas de desempeño (views).
Objetivos¶
- Realizar un EDA reproducible en Colab: ingesta, chequeos, limpieza mínima y visualizaciones.
- Documentar calidad de datos (faltantes, duplicados, rangos) y registrar artefactos.
- Cuantificar mix de catálogo, tendencias y distribución por países/ratings/géneros.
- Producir un resumen ejecutivo con insights accionables para decisiones de contenido.
Desarrollo¶
El analisis del dataset fue desarrollado con librerias como:
pandas,numpy,matplotlib,seaborn.
El dataset es un CSV público netflix_titles.csv disponible en las referencias de este artículo.
El dataset contiene 6234 registros y 12 variables con datos de tipo numérico para show_id y release_year, el resto son de tipo object.
Se detectaron datos faltantes en varias comlumnas:
directorcontiene un 31.6% de datos faltantes.castcontiene un 9.1% de datos faltantes.countrycontiene un 7.6%.date_added0.18% yrating0.16%.
Se encontraron 57 títulos duplicados con el mismo título(por title).
Además se identificaron outliers de texto: títulos muy largos (p99) y muy cortos (<5 chars).
El rango de publicación de las películas release_year es desde 1925–2020, con concentración fuerte desde 2015.
Por ejemplo:
- Know Your Enemy, Japan 1945
- Let There Be Light, 1946 Movie
- Nazi Concentration Camps, 1945 Movie
Distribución y tendencias¶
El catalogo de contenido es dividido en dos secciones:
- Movies que son el 68.4% de los registros.
- TV Shows que son el 31.6% de los registros.
Mientras que en la fecha de publicación del contenido se ve distribuido por varios años. Se ve un pico en 2018 (≈1.063), y una caída en 2020.
Además se pudieron analizar los años con más lanzamientos: Aquí tienes la tabla en formato Markdown:
| Año | Cantidad |
|---|---|
| 2011 | 136 |
| 2012 | 183 |
| 2013 | 237 |
| 2014 | 288 |
| 2015 | 517 |
| 2016 | 830 |
| 2017 | 959 |
| 2018 | 1063 |
| 2019 | 843 |
| 2020 | 25 |
Luego se analizaron los países con co-producciones frecuentes: - Estados unidos: 2609 - India: 838 - UK: 601
Evidencias¶
- Carga y exploración
url = "https://raw.githubusercontent.com/swapnilg4u/Netflix-Data-Analysis/refs/heads/master/netflix_titles.csv" netflix = pd.read_csv(url) netflix.shape, netflix.info(), netflix.head(3) - Faltantes (conteos y %)
missing = netflix.isna().sum().sort_values(ascending=False) missing_pct = (netflix.isna().sum()/len(netflix)*100).sort_values(ascending=False) missing[missing>0], missing_pct[missing_pct>0] - Outliers / duplicados / títulos extremos
netflix["release_year_clean"] = pd.to_numeric(netflix["release_year"], errors="coerce") very_old = netflix[netflix["release_year_clean"] < 1950] dup_titles = netflix["title"].value_counts()[lambda s: s>1] netflix["title_length"] = netflix["title"].str.len() very_long = netflix[netflix["title_length"] > netflix["title_length"].quantile(0.99)] very_short = netflix[netflix["title_length"] < 5]
Se puede ver el desarrollo del práctico detalladamente aquí
Reflexión¶
- Qué aprendí: a mantener una línea de trazabilidad de calidad de datos (faltantes/duplicados/rangos) y a vincular métricas (mix, tiempos, países, ratings) con implicancias de negocio.
- Decisiones de visualización: line plot para continuidad temporal (tendencias), barplot para categorías (país/ratings/géneros) y heatmaps para co-ocurrencias.
- Limitaciones: no hay variables de audiencia/ingresos; algunos picos/caídas pueden deberse a recortes del dataset (e.g., bajo 2020).
- Mejoras inmediatas:
- Normalizar
durationa minutos/temporadas y tratar multi-valor encountry/listed_incon tablas auxiliares. - Corregir pie charts del dashboard si falta una coma entre argumentos (
autopct=...,colors=...) y ordenar categorías para legibilidad. - Exportar todas las figuras con
dpi>=200,bbox_inches='tight'y nombres consistentes.
Atención
- Metadatos incompletos (director/cast/country) afectan búsqueda y recomendación.
- Duplicados pueden sesgar conteos si no se desambiguan por (
title,release_year) o ID canónico. - Evitar gráficos redundantes (pie + donut del mismo dato); priorizar el más legible.
📚 Referencias¶
- Dataset base: Netflix Titles (CSV público).
- Documentación:
pandas(describe, dtypes, isna),seaborn(countplot, heatmap),matplotlib(savefig), buenas prácticas de EDA.





