Este proyecto se realizó con la finalidad de procesar la información de 4 archivos .csv , limpiar los datos para facilitar el reporte y mediante la publicación de un API para mostrar los resultados obtenidos.
El objetivo del proyecto es transformar la informacion de los 4 archivos .csv que estan alojados en las siguientes rutas:
\Datasets\Dirtydata\amazon_prime_titles-score.csv
\Datasets\Dirtydata\disney_plus_titles-score.csv
\Datasets\Dirtydata\hulu_titles-score (2).csv
\Datasets\Dirtydata\netflix_titles-score.csv
Posteriormente vamos a seguir los siguientes para realizar su respectiva limpieza:
- Paso 1: Clonar este repositorio a tu cuenta de GitHub o simplemente descargarlo.
- Paso 2: Abrir y ejecutar el notebook "Cleaner.ipynb" que esta ubicado en la ruta:
\Datasets\Cleaner.ipynb
- Paso 3: Ejecutar todo código que tiene el archivo "Cleaner.ipynb" hasta obtener un nuevo dataframe que sera exportado en la misma carpeta Datasets llamado "data.csv"
Para el reporte se decidió realizar mediante la publicacion de un API en un servicio cloud que este caso se hizo en "Deta"(Cabe resaltar que no es necesario subir especificamente en mencionado servicio cloud, queda a tu elección). El codigo del API se realizó usando la libreria "FastAPI" y encuentra en la siguiente ruta:
\FastDetaAPI\main.py
El API creado resuelve principalmente 5 tipos de reporte que son los siguientes:
-
Cantidad de veces que aparece una keyword en el título de peliculas/series, por plataforma. Para acceder a esta información se realiza mediante la funcion llamada "get_word_count"
-
Cantidad de películas por plataforma con un puntaje mayor a XX en determinado año. Para acceder a esta información se realiza mediante la funcion llamada "get_score_count"
-
La segunda película con mayor score para una plataforma determinada, según el orden alfabético de los títulos. Para acceder a esta información se realiza mediante la funcion llamada "get_second_score"
-
Película que más duró según año, plataforma y tipo de duración. Para acceder a esta información se realiza mediante la funcion llamada "get_longest"
-
Cantidad de series y películas por rating. Para acceder a esta información se realiza mediante la funcion llamada "get_rating_count"
Para realizar el deploy en este caso se usó Deta, si deseas implementarlo de forma independiente lo puedes hacer siguiendo los pasos que indica el siguiente enlace:
Implementacion de API con Deta
Si no deseas implementarlo o deseas ver como debería mostrar la imformación, le comparto el siguiente enlace
Donde se implementó siguiendo los pasos que indica el enlace compartido previamente.
Para observar a detalle como funciona la API y el proyecto en general presentado puede observar el siguiente video mediante el siguiente enlace :
Cada función que presenta la API necesita de una cantidad determinada de parámetros que serán detallados a continuación:
Funciones:
- /get_word_count/{platform}/{keyword}
- /get_score_count/{platform}/{score}/{year}
- /get_second_score/{platform}
- /get_longest/{platform}/{duration_type}/{year}
- /get_rating_count/{rating}
Por la naturaleza de datos que se uso como fuente, algunos parámetros solo admiten una cantidad limitada de opciones para su correcto funcionamiento. Y se detallan a continuación:
- platform (netflix, amazon, hulu y disney)
- duration_type (min, season)
- rating (g, 13+, all, 18+, r, tv-y, tv-y7, nr, 16+, tv-pg, 7+, tv-14, tv-nr, tv-g, pg-13, tv-ma, pg, nc-17, unrated, 16, ages_16_ , ages_18_, all_ages, not_rate, tv-y7-fv, not rated)