Examen Seaborn
Analyse du catalogue Netflix
L'exercice est composé de plusieurs questions, faites-les dans l'ordre et faites attention à
respecter le nom des variables. N'hésitez pas à contacter l'équipe DataScientest si vous
rencontrez des problèmes.
Cette évaluation porte sur l'exploration d'un échantillon de données issu du catalogue de films et
de séries de la plateforme de vidéos à la demande américaine bien connue.
La premiere base de données à disposition, netflix_titles.csv contient près de 7800 films
proposés dans le catalogue Netflix, depuis la création de la plateforme en 2008. Pour chacun de
ces films nous avons accès aux données suivantes :
Variable Description
'show_id' ID du contenu
'type' Type de contenu (film ou série)
'title' Titre
'director' Réalisateur
'cast' Le casting principal
'country' Pays de production (possiblement plusieurs)
'date_added' Date d'ajout à la plateforme
'release_year' Date de sortie
'rating' Classification du contenu pour la diffusion télévisuelle
'duration' Durée en minutes ou saisons
'listed_in' Catégories dont font partie le contenu
'description Synopsis
La seconde base de données à laquelle nous avons accès, [Link] provient du site
international IMDb et contient diverses informations sur une très large sélection de films et séries,
notamment :
Variable Description
'primaryTitle' Titre principal
'originalTitle' Titre original
'startYear' Année de sortie
'averageRating
Note moyenne obtenue
'
Variable Description
'numVotes' Nombre de votes
Charger le package pandas sous le nom pd
Charger le package seaborn sous le nom sns
Charger le sous-package [Link] sous le nom plt
Lire le fichier "netflix_titles.csv" dans un DataFrame appelé netflix
Afficher les 5 premiers contenus du catalogue Netflix.
In [391]:
1
## Insérer votre code ici
2
Nous nous intéresserons premièrement aux propotions réspectives de films et de séries dans le
catalogue Netflix.
Afficher, dans un graphique, le nombre de contenus appartenant à chacun des deux
types ('TV Show' et 'Movie').
In [393]:
1
## Insérer votre code ici
2
Lire à présent le fichier '[Link]' dans un DataFrame appelé imdb, et afficher les 5
premières lignes.
In [395]:
1
## Insérer votre code ici
2
Pour faciliter l'analyse des films du catalogue, fusionner les
Dataframes netflix et imbd dans df, en gardant les lignes pour lesquelles le titre du
contenu sur Netflix et son année de sortie sont identiques au titre principale et l'année
de sortie d'après IMDb.
In [397]:
1
## Insérer votre code ici
2
Ajouter à df une colonne 'is_drama qui prendra la valeur True ou False en fonction
de l'appartenance du contenu à la catégorie Dramas sur Netflix.
Pour cela, on pourra vérifier pour chacun des contenus, si la chaîne de
caractère Dramas est présente dans la colonne listed_in grâce à la fonction in.
In [399]:
1
## Insérer votre code ici
2
La colonne duration contient la durée en minutes pour les films, et en saisons pour les séries.
Pour les films, ces durées sont suivies d'un espace et des caractères 'min';
Extraire de df un DataFrame movies, contenant uniquement les films (contenus de
type 'Movie').
Créer une nouvelle variable duree à movies, qui contient les valeurs de la
variable duration auxquelles les 4 derniers caractères ont étés tronqués.
Transformer le type de la variable duree en int.
In [401]:
1
## Insérer votre code ici
2
Afficher, dans un boxplot, la distribution de la variable duree en fonction de
l'appartenance du film à la catégorie Dramas ou non.
In [403]:
1
## Insérer votre code ici
2
Afficher, grâce à une courbe, la relation entre la durée d'un film qui dure entre 60 et 200
minutes et sa note moyenne sur IMDb.
In [405]:
1
## Insérer votre code ici
2
La colonne 'director' contient le ou les réalisateurs des contenus Netflix, séparés par les
caractères ', '.
La méthode [Link]() appliquée à une Serie avec le paramètre expand=True, permet de
récuperer un DataFrame avec pour chaque ligne les chaînes de caractères séparés par le
séparateur indiqué dans une colonne différente.
La méthode stack() permet de transformer un Dataframe en Serie Multi-index, en empilant les
valeurs (non manquante) des colonnes les unes après les autres.
Ainsi, par exemple:
S = [Link](["hello friend", "hello word", "hi"])
[Link](' ',
expand=True).stack().reset_index(drop=True)
permet de retourner la série contenant les mots: "hello","friend", "hello", "word",
"hi".
Stocker dans une séries directors l'ensemble des réalisateurs présents dans la
colonne director de df.
Afficher dans un graphique en barre horizontale, les 10 réalisateurs les plus présents
dans le catalogue.
In [407]:
1
## Insérer votre code ici
2
La fonction pd.to_datetime() transforme le type d'une série passée en argument, en une
série temporelle (de type datetime).
Il est possible ensuite de récupérer des informations partielles d'une date de type datetime,
comme l'année ou le mois grâce aux attributs [Link] ou [Link].
Ajouter à df une nouvelle variable year_added contenant l'année d'ajout d'un contenu
sur la plateforme.
Afficher dans un graphique deux courbes de tendance représantant le nombre de
contenus ajouté au catalogue Netflix au fil des ans, en fonction du type de contenu.
In [409]:
1
## Insérer votre code ici
2
Afficher un histogramme accompagné d'une courbe d'estimation de la densité afin
d'analyser la variable averageRating.
In [411]:
1
## Insérer votre code ici
2
Afficher côte à côte deux graphiques contenant le top5 des séries francaises et le top 5
des films français les plus populaires.
On considérera le nombre de votes pour une série ou un film comme un indicateur fiable
de sa popularité.
In [413]:
1
## Insérer votre code ici
2
A l'aide d'un graphique, analyser l'évolution de la qualité du contenu du catalogue au fil
du temps.
In [415]:
1
## Insérer votre code ici
2
Bonus : Afficher le Top10 des acteurs/actrices les plus présents dans des productions
américaines ayant obtenues une note moyenne supérieure à 7.
In [417]:
1
## Insérer votre code ici
2