MAT281 - Laboratorio N°05¶
Objetivo: Explorar y visualizar datos de Netflix usando matplotlib y seaborn/plotly, aprendiendo a elegir gráficos adecuados para distintos tipos de variables y preguntas de análisis.
Dataset:
Trabajaremos con el archivo netflix_titles.csv
, que contiene información sobre los títulos disponibles en la plataforma Netflix hasta el año 2021.
Variable | Clase | Descripción |
---|---|---|
show_id | caracter | Identificador único del título en el catálogo de Netflix. |
type | caracter | Tipo de contenido: 'Movie' o 'TV Show'. |
title | caracter | Título del contenido. |
director | caracter | Nombre del director (puede ser nulo). |
cast | caracter | Lista de actores principales (puede ser nulo). |
country | caracter | País o países donde se produjo el contenido. |
date_added | fecha | Fecha en la que el título fue agregado al catálogo de Netflix. |
release_year | entero | Año de lanzamiento original del título. |
rating | caracter | Clasificación por edad (por ejemplo: 'PG-13', 'TV-MA'). |
duration | caracter | Duración del contenido (minutos o número de temporadas para series). |
listed_in | caracter | Categorías o géneros en los que está clasificado el contenido. |
description | caracter | Breve sinopsis del contenido. |
In [4]:
Copied!
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
sns.set_theme(style="whitegrid")
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
sns.set_theme(style="whitegrid")
In [5]:
Copied!
# Cargar datos
df = pd.read_csv('https://raw.githubusercontent.com/fralfaro/MAT281/main/docs/labs/data/netflix_titles.csv')
df.head()
# Cargar datos
df = pd.read_csv('https://raw.githubusercontent.com/fralfaro/MAT281/main/docs/labs/data/netflix_titles.csv')
df.head()
Out[5]:
show_id | type | title | director | cast | country | date_added | release_year | rating | duration | listed_in | description | |
---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | s1 | Movie | Dick Johnson Is Dead | Kirsten Johnson | NaN | United States | September 25, 2021 | 2020 | PG-13 | 90 min | Documentaries | As her father nears the end of his life, filmm... |
1 | s2 | TV Show | Blood & Water | NaN | Ama Qamata, Khosi Ngema, Gail Mabalane, Thaban... | South Africa | September 24, 2021 | 2021 | TV-MA | 2 Seasons | International TV Shows, TV Dramas, TV Mysteries | After crossing paths at a party, a Cape Town t... |
2 | s3 | TV Show | Ganglands | Julien Leclercq | Sami Bouajila, Tracy Gotoas, Samuel Jouy, Nabi... | NaN | September 24, 2021 | 2021 | TV-MA | 1 Season | Crime TV Shows, International TV Shows, TV Act... | To protect his family from a powerful drug lor... |
3 | s4 | TV Show | Jailbirds New Orleans | NaN | NaN | NaN | September 24, 2021 | 2021 | TV-MA | 1 Season | Docuseries, Reality TV | Feuds, flirtations and toilet talk go down amo... |
4 | s5 | TV Show | Kota Factory | NaN | Mayur More, Jitendra Kumar, Ranjan Raj, Alam K... | India | September 24, 2021 | 2021 | TV-MA | 2 Seasons | International TV Shows, Romantic TV Shows, TV ... | In a city of coaching centers known to train I... |
📊 Parte 1: Exploración visual básica¶
Distribución de tipos de contenido
- Realiza un gráfico de barras mostrando la cantidad de películas vs series (
type
). - Pregunta guía: ¿Cuál es el tipo de contenido predominante en Netflix? ¿Qué implicancias podría tener para los usuarios?
- Realiza un gráfico de barras mostrando la cantidad de películas vs series (
Histograma de años de lanzamiento
- Muestra cómo se distribuyen los títulos según su
release_year
. - Pregunta guía: ¿Hay más contenido reciente o antiguo? ¿Notas algún patrón en décadas específicas?
- Muestra cómo se distribuyen los títulos según su
Proporción de clasificaciones por edad (
rating
)- Haz un gráfico circular o de barras.
- Pregunta guía: ¿Qué clasificación es más común? ¿Crees que Netflix está más enfocado en público adulto, familiar o infantil?
In [ ]:
Copied!
# FIXME
# FIXME
🎨 Parte 2: Tendencias y evolución en el tiempo¶
Número de títulos agregados por año
- Usa
date_added
(convertido a fecha) y grafica una serie temporal. - Pregunta guía: ¿Cuándo creció más el catálogo de Netflix? ¿Qué relación podría tener con la expansión internacional de la plataforma?
- Usa
Heatmap de lanzamientos por año y mes
- Construye un mapa de calor con
year_added
ymonth_added
. - Pregunta guía: ¿Hay meses con más estrenos que otros? ¿Qué conclusiones puedes sacar sobre la estacionalidad de lanzamientos?
- Construye un mapa de calor con
Duración de películas por género
- Extrae la duración en minutos y crea un boxplot agrupado por género principal.
- Pregunta guía: ¿Qué géneros suelen durar más? ¿Qué podrías decir sobre la variabilidad dentro de un mismo género?
In [5]:
Copied!
# FIXME
# FIXME
🔥 Parte 3: Comparaciones y relaciones¶
Top 10 países con más producciones
- Usa un gráfico de barras para mostrar los países más frecuentes en la columna
country
. - Pregunta guía: ¿Qué países dominan el catálogo? ¿Sorprende la distribución o es esperada?
- Usa un gráfico de barras para mostrar los países más frecuentes en la columna
Películas vs Series según género
- Realiza un gráfico de barras apiladas para mostrar la cantidad de títulos por género, separando
Movie
yTV Show
. - Pregunta guía: ¿Existen géneros más asociados a películas o a series?
- Realiza un gráfico de barras apiladas para mostrar la cantidad de títulos por género, separando
Relación entre duración y año de lanzamiento
- Haz un gráfico de dispersión (scatterplot) con
release_year
en el eje X yduration
(en minutos) en el eje Y. - Pregunta guía: ¿Han cambiado los estándares de duración de las películas con el tiempo? ¿Se ven outliers interesantes?
- Haz un gráfico de dispersión (scatterplot) con
In [6]:
Copied!
# FIXME
# FIXME
⭐ Desafío Final¶
- Encuentra las combinaciones más frecuentes de género + rating y represéntalas en un heatmap o gráfico de burbujas.
- Pregunta guía: ¿Qué géneros están más dirigidos a un público adulto? ¿Y cuáles a público familiar o infantil?