Le module Pandas
Cela devient vite fastidieux, du Python "pur" pour manipuler des données...
Il existe heureusement des modules spécialement destinés à la manipulation et au traitement de données en Python : par exemple, le module Pandas.
C'est le module "de référence" pour tout ce qui est analyse de données, "Big data", etc... en Python.
Principe
Cette introduction à l'utilisation du module se fera avec ce fichier de données ( à enregistrer dans votre zone personnelle ).
Le module n'est pas forcément installé sur les ordinateurs du lycée, mais est disponible dans les éditeurs du site : penser à l'installer au préalable, et charger les fichiers nécessaires dans le système de fichiers virtuel du navigateur.
Dataframe
Après avoir importé le module en début de script, on crée, à partir de données stockées par exemple dans un fichier .csv, un tableau de données appelé dataframe :
La première ligne indique le nom des colonnes du tableau; chaque ligne commence par un index ( commençant à 0 ) permettant de la repérer
Le dataframe contenant de très nombreuses données, Pandas ne les affiche pas toutes par défaut : les points de suspension indiquent des données non affichées.
Informations sur les données
On peut obtenir de nombreuses informations sur le tableau de données lui-même.
Dé-commenter chaque ligne ci-dessous pour observer le résultat de leur exécution :
Sélectionner une ou plusieurs colonnes
Dans Pandas, une colonne est plus qu'une simple liste. C'est un objet sur lequel il est possible de faire les mêmes opérations que sur un dataframe :
Remarque : NaN signifie Not a Number et indique qu'il y a probablement une valeur manquante dans la table () il doit y avoir un pays pour lequel on n'a pas
d'information sur sa population en 2016.)
Sélection de lignes suivant une ou plusieurs condition(s)
Trier un tableau
Enlever les valeurs manquantes
Ajouter une nouvelle colonne
On veut mesurer par exemple l'augmentation de la population , en pourcentage, entre 1960 et 2016. On va créer une nouvelle colonne dans laquelle on écrira une formule de calcul, puis on ajoutera cette colonne au tableau :
Application : une base de données de films ( IMDb )
Pour cette application, vous utiliserez ce fichier de données.
- Créer un dataframe à partir du fichier de données :
- Former un nouveau tableau appelé movies_df2 en ne gardant que les colonnes suivantes, et les renommer en français, puis afficher le nouveau tableau :
'movie_title': 'Titre' 'director_name': 'Réalisateur' 'duration': 'Durée en min' 'title_year': 'Année' 'imdb_score': 'Score IMDb' 'budget': 'Budget' 'gross': 'Recette' - Enlever les lignes présentant des valeurs manquantes :
- Ne garder que les films sortis à partir de l'année 2000 :
- Afficher cette table en classant du moins bien noté au mieux noté :
- Lequel de ces films a levé la plus grosse recette (vous pouvez vous aider d'un tri pour obtenir ce résultat) ?
- Créer une nouvelle colonne qui va mesurer la rentabilité (Recette - Budget) de chaque film et l'ajouter au tableau (ignorer les éventuels avertissements) :
- Trier le tableau pour afficher les films du moins rentable au plus rentable :
- Quels sont les films dont le score IMDb est supérieur à 8 et qui n'ont pourtant pas été rentables ?