Vous êtes sur la page 1sur 2

UNIVERSITE NORD-AMERICAINE PRIVEE

INSTITUT INTERNATIONAL DE TECHNOLOGIE


DEPARTEMENT INFORMATIQUE

© Travaux pratiques n°2 : Exploration des données avec pandas


Visualisation graphique avec mathplotlib et seaborn
MATIERE Intelligence Artificielle AU/ 2022-2023
DISCIPLINE 1ère année Génie Informatique Semestre/ 2
ENSEIGNANTS Dr. Taoufik Ben Abdallah & Dr. Ali Ben Mrad Nb de pages/ 2

L’objectif du TP est de vous apprendre à utiliser la bibliothèque pandas pour explorer les données à partir d’un
fichier Excel ou CSV, ainsi qu’à les visualiser grâce aux représentations graphiques en utilisant les bibliothèques
matplotlib et seaborn. Dans ce TP, on va appliquer le jeu de données examen.csv qui contient des informations
sur les performances des élèves du secondaire en mathématiques, y compris leurs notes et leurs informations
démographiques. Ce jeu de données pourrait être pour développer des modèles d’apprentissage automatique pour
prédire les performances des élèves en fonction de facteurs démographiques et autres. Il comporte 7 colonnes :
• gender : Le genre de l’élève
• race/ethnicity : L’origine raciale ou ethnique de l’élève
• parental level of education : Le niveau d’éducation le plus élevé atteint par les parents ou tuteurs de l’élève
• test preparation course : Si l’élève a suivi un cours de préparation au test
• math score : La note de l’élève sur un test standardisé de mathématiques
• reading score : La note de l’élève sur un test standardisé de lecture
• writing score : La note de l’élève sur un test standardisé d’écriture

Le Tableau 1 montre un extrait du jeu de données exams.csv


parental level of test preparation
gender race/ethnicity math score reading score writing score
education course
female group D some college completed 59 70 78
male group D associate’s degree none 96 93 87
female group D some college none 57 76 77
male group B some college none 70 70 63
female group D associate’s degree none 83 85 86
⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮
Tableau 1 : Extrait de jeu de données exams.csv

Étapes à suivre :
a. Télécharger le fichier TP_2_IA_2023.zip puis extraire les fichiers TP2_IA.ipynb et exams.csv dedans
b. Importer le fichier exams.csv dans Google drive
c. Lancer Google Colab et télécharger le fichier TP2_IA.ipynb
d. Exécuter la première du notebook qui tente à l’importation des bibliothèques
e. Exécuter la deuxième cellule du notebook qui tente à l’assemblage de votre compte Drive dans Colaboratory

Travail à faire :
1) Importer le jeu de données exams.csv dans un dataframe nommé 𝐝𝐟_𝐞𝐱𝐚𝐦𝐬, puis afficher les 5 premières
lignes de 𝐝𝐟_𝐞𝐱𝐚𝐦𝐬
2) Afficher la taille de 𝐝𝐟_𝐞𝐱𝐚𝐦𝐬 ainsi qu’une liste contenant les noms de ses colonnes
3) Afficher les informations sur les données de 𝐝𝐟_𝐞𝐱𝐚𝐦𝐬 (le type des colonnes, les valeurs non nulles, etc.)
4) Générer un résumé statistique des données contenues dans 𝐝𝐟_𝐞𝐱𝐚𝐦𝐬

1/2
5) Afficher sous forme de DataFrame les élèves ayant un score en mathématiques ("math score") supérieur à 60
6) Afficher sous forme de DataFrame les élèves de sexe féminin ayant obtenu un score maximal en écriture
("writing score")
7) Calculer le score maximal en lecture ("reading score") pour chaque niveau d’éducation des parents
("parental level of education")
8) Déterminer le nombre d’élèves pour chaque catégorie de leur origine raciale ("race/ethnicity")
9) Remplacer la valeur "none" de la colonne "test preparation course" par "incomplete". Afficher 𝐝𝐟_𝐞𝐱𝐚𝐦𝐬
10) Remplacer les valeurs "female" par "F" et les valeurs "male" par "M" dans la colonne "gender" de
𝐝𝐟_𝐞𝐱𝐚𝐦𝐬, puis afficher le résultat
11) Créer un dataframe 𝐝𝐟_𝐬𝐜𝐨𝐫𝐞 qui contient une seule colonne nommée "mean score", contenant la moyenne
des notes de mathématiques ("math score"), de lecture ("reading score") et d’écriture ("writing score") pour
chaque élève
12) Concaténer les colonnes "gender", "race/ethnicity", "parental level of education" et "test preparation course"
de 𝐝𝐟_𝐞𝐱𝐚𝐦𝐬 avec la colonne "mean score" de 𝐝𝐟_𝐬𝐜𝐨𝐫𝐞. Enregistrer le résultat dans 𝐝𝐟_𝐞𝐱𝐚𝐦𝐬, puis
afficher les 8 dernières lignes de celui-ci
13) Supprimer de 𝐝𝐟_𝐞𝐱𝐚𝐦𝐬 les élèves qui n’ont pas obtenu la moyenne des notes de mathématiques, de lecture
et d’écriture. Afficher 𝐝𝐟_𝐞𝐱𝐚𝐦𝐬
14) Trier les lignes de 𝐝𝐟_𝐞𝐱𝐚𝐦𝐬 par ordre croissant de la colonne "mean score" et réinitialiser les indices de
lignes du dataframe. Ensuite, afficher 𝐝𝐟_𝐞𝐱𝐚𝐦𝐬 trié
15) Exporter 𝐝𝐟_𝐞𝐱𝐚𝐦𝐬 résultant en tant que fichier Excel en utilisant la fonction to_excel() en lui donnant
le nom de fichier "exams_c.xlsx"
16) Importer le jeu de données "exams_c.xlsx" dans un dataframe nommé 𝐝𝐟_𝐞𝐱𝐚𝐦𝐬𝟏 et le transformer en deux
tableaux ndarray, 𝐗 et Y : 𝐗 doit contenir les valeurs des quatre premières colonnes de 𝐝𝐟_𝐞𝐱𝐚𝐦𝐬𝟏, tandis
que Y doit contenir les valeurs de la colonne "mean score". Afficher la taille de 𝐗 et Y
17) Déterminer l’histogramme de répartition des élèves selon leur genre (M/F) à partir de 𝐝𝐟_𝐞𝐱𝐚𝐦𝐬𝟏, en
utilisant matplotlib et seaborn. Les bins de l’histogramme doivent être de largeur égale à 0.5
18) Créer un diagramme en secteur à partir de 𝐝𝐟_𝐞𝐱𝐚𝐦𝐬𝟏 pour représenter la répartition des niveaux
d’éducation des parents ("parental level of education")

Bon Travail

2/2

Vous aimerez peut-être aussi