Actividad 2
Actividad 2
Actividad 2
ACTIVIDAD
2023
2
ACTIVIDAD
Tabla de contenido
Conclusión ........................................................................................................................ 25
Referencias ........................................................................................................................ 26
3
ACTIVIDAD
Api TMDB.
Se creo la cuenta junto con su confirmación por correo y la solicitud de la api key y el
token.
ACTIVIDAD
de Azure blog
ACTIVIDAD
ACTIVIDAD
ACTIVIDAD
8
ACTIVIDAD
Usted es un Ingeniero de Datos trabajando para una empresa que maneja Streaming de
películas y series.
Se le pide que diseñe y construya un Pipeline usando Python, que tome información de
diversas fuentes: la base de datos TMDB (The Movie DataBase), una base de datos de un
un archivo texto en Azure Object Storage que contiene los títulos disponibles en Netflix. Dicha
información debe ser extraída de las fuentes y luego convertida a dataframes de la librería
pandas.
Se realiza el pipeline con las librería de pandas y se realiza una correcta ejecución con el
ACTIVIDAD
data += json_data['results']
params['page'] += 1
if len(data) >= 10000:
break
#se convierte los datos en un dataframe de la libreria Pandas
df = pd.DataFrame(data)
df.to_csv('top_rated_movies.csv', index=False)
ACTIVIDAD
ACTIVIDAD
connection_string =
'DefaultEndpointsProtocol=https;AccountName=almacenamientopeliculas;AccountKey=jM
hxWSC+7JpRmhj1W1wt+dR8OgZfgnHFYwEhrMqclno7yXxG+TRfh5+so+e9CBlPizIr46DilS4C+ASt7cP
j2A==;EndpointSuffix=core.windows.net'
blob_service_client = BlobServiceClient.from_connection_string(connection_string)
container_client = blob_service_client.get_container_client('contenedor')
blob_client = container_client.get_blob_client('netflix_titles.csv')
ACTIVIDAD
Se realiza la correcta ejecución del pipeline con el ingreso a las diferentes fuentes y su
debido extracción, así como la lectura del dataframe y las consultas necesarias que se
propusieron.
13
ACTIVIDAD
Se realizo el diagrama del diseño del pipeline de acuerdo con el requerimiento del caso
de estudio.
https://colab.research.google.com/drive/1GR30CVXT_NBLW1asBEOvSOJj7RGoGs16?usp=sharing
14
ACTIVIDAD
Archivo “Top_Rated_Movies.csv”
Archivo “disneyplus_movie.csv”
ACTIVIDAD
Archivo “amazon_movie.csv”
Archivo “netflix_titles.csv”
ACTIVIDAD
ACTIVIDAD
ACTIVIDAD
import pandas as pd
from azure.storage.blob import BlobServiceClient
import numpy as np
import matplotlib
import matplotlib.pyplot as plt
conteoAmazon = lecturaAmazon.count()
conteoDisney = lecturaDisney.count()
conteoNetflix = lecturaNetflix.count()
conteoApi = lecturaApi.count()
#Estructura Amazon
print("Estructura de columnas amazon_movie.csv:")
print('columnas: ', list(lecturaAmazon.keys()))
print("Conteo de registros: ", + conteoAmazon)
#Estructura Disney
print("Estructura de columnas disneyplus_movie.csv:")
print('columnas: ', list(lecturaDisney.keys()))
print("Conteo de registros: ", + conteoDisney)
#Estructura Amazon
19
ACTIVIDAD
#Estructura Amazon
print("Estructura de columnas top_rated_movies.csv:")
print('columnas: ', list(lecturaApi.keys()))
print("Conteo de registros: ", + conteoApi)
#Se lee el archivo de Amazon para representar grafica de secuencias por release
de los contenidos
peliculasAmazon = pd.read_csv('amazon_movie.csv', sep=',')
#print('columnas: ', list(peliculasAmazon.keys()))
# las graficas se dividen en dos para representar las tendencias por año de el
tipo de contenido de Amazon
y_fechaAmazon = peliculasAmazon['release_year']
x_tipo1Amazon = peliculasAmazon['type'] == 'Movie'
x_tipo2Amazon = peliculasAmazon['type'] == 'TV Show'
plt.plot(x_tipo1Amazon,y_fechaAmazon)
plt.title('Grafica de frecuencias Amazon por Movie')
plt.grid()
plt.show()
plt.plot(x_tipo2Amazon,y_fechaAmazon)
plt.title('Grafica de frecuencias Amazon por TV Show')
plt.grid()
plt.show()
separar_fecha = peliculasDisney["date_added"].str.split(expand=True)
separar_fecha.columns = ['Mes', 'Dia', 'Year']
#print('columnas: ', list(peliculasDisney.keys()))
ACTIVIDAD
y_fechaDisney = nuevoDataFrame['Year']
x_tipo1Disney = nuevoDataFrame['type'] == 'Movie'
x_tipo2Disney = nuevoDataFrame['type'] == 'TV Show'
plt.plot(x_tipo1Disney,y_fechaDisney, 'ro')
plt.title('Grafica de frecuencias Disney por Movie')
plt.grid()
plt.show()
plt.plot(x_tipo2Disney,y_fechaDisney)
plt.title('Grafica de frecuencias Disney por TV Show')
plt.grid()
#Se lee el archivo de Netflix para representar grafica de secuencias por release
de los contenidos
peliculasNetflix = pd.read_csv('netflix_titles.csv', sep=',')
#print('columnas: ', list(peliculasAmazon.keys()))
# las graficas se dividen en dos para representar las tendencias por año de el
tipo de contenido de Disney
y_fechaAmazon = peliculasNetflix['release_year']
x_tipo1Amazon = peliculasNetflix['type'] == 'Movie'
x_tipo2Amazon = peliculasNetflix['type'] == 'TV Show'
plt.plot(x_tipo1Amazon,y_fechaAmazon)
plt.title('Grafica de frecuencias Netflix por Movie')
plt.grid()
plt.show()
plt.plot(x_tipo2Amazon,y_fechaAmazon)
plt.title('Grafica de frecuencias Netflix por TV Show')
plt.grid()
plt.show()
21
ACTIVIDAD
Desarrollo de la estrategia
requerimiento.
Análisis de datos:
usuarios, lo que puede ayudar a la compañía a entender qué tipos de contenido son más
populares y cuáles generan mayor interés entre sus usuarios. Utilizando esta información, Netflix
podría identificar qué contenidos son más valiosos para su audiencia y enfocar sus esfuerzos en
adquirirlos.
extracción y análisis de la data por medio del lenguaje de programación Python (pipeline):
De acuerdo con el análisis y las consultas del cruce de las fuentes podemos ver que esas
ACTIVIDAD
¿Cuáles son las 10 películas con mayor revenue cuyo release_date sea mayor a 2010-01-
01?
Se puede observar que esas son las peliculas con mayor ganancia, popularidad que se
En este caso se puede observar que la relación entre las diferentes fuentes una
colaboración de Colombia junto con otros países como España para la realización de contenido.
¿Cuáles son las 10 más rentables películas de la historia definiendo rentabilidad como
revenue/Budget?
23
ACTIVIDAD
En este caso no se pudo observar el campo “renueve” sin embargo podemos hacer un
analizar similar coon el campo popularidad debido a que ambos se pueden complementar.
Para este caso realizamos un cruce de la data entre las diferentes fuentes y creamos un archivo
contenidos_compar
tidos.csv
¿Cuáles son los contenidos que tiene Amazon o Disney y no tiene Netflix?
En este caso se tomo el arreglo del archivo anterior modificacndo loss que no cruzaban y
¿Cuáles son los contenidos con el menor “Budget” pero con el mayor vote_average que
ACTIVIDAD
recomendable es que Netflix establezca relaciones con los creadores de contenido, ya sea a
contenido que son las que mantienen a los usuarios en constante pago de membresía debido al
estreno semanal de nuevos capítulos, al hacerlo Netflix podría obtener información sobre las
también, podría trabajar junto a los creadores para adquirir derechos exclusivos de contenidos
que puedan resultar atractivos para su audiencia de acuerdo con lo que se analizó y nos arrojó la
data y que se propone realizar secuelas de los contenidos con mayor ganancia y popularidad.
streaming hace más de una década, aunque Netflix se ha ganado una reputación por su amplia
selección de películas y series de televisión, la compañía podría expandir su catálogo para incluir
deportes en vivo; por consiguiente, Netflix podría atraer a una audiencia más amplia y aumentar
obtener un poco más de ganancias ya que puede encontrarse molesto para el usuario promedio.
25
ACTIVIDAD
Conclusión
El objetivo guía del presente trabajo era realizar el laboratorio de configuración de las
fuentes y hacerlas funcionar de acuerdo con las instrucciones dadas, analizar la data de dichas
fuentes, importancia, creación y uso de “pipeline” como una herramienta para aplicar las técnicas
diseñar una estrategia para proponer a una compañía real, proporcionó la practica y ampliación
de conocimiento sobre Python y sus librerías como pandas que se utilizaron en este ejercicio que
también se aplicaron al conocimiento propio y la realización del código fuente con mi propio
análisis e interpretación.
26
ACTIVIDAD
Referencias
https://www.klippa.com/es/blog/informativo/extraccion-
datos/#:~:text=Extraer%20los%20datos%20permite%20procesarlos,proceso%20de%20to
ma%20de%20decisiones.
https://www.astera.com/es/type/blog/database-extraction/
datos