Ressources Magic Makers

 

Site en maintenance

 
Nous sommes actuellement entrain de mettre à jour les ressources de ce site.
Pendant la mise à jour vous pouvez retrouver tous les nouveaux contenus sur le site
 

https://lp-magicmakers.fr/

 
 

Défis pandas

Sur cette page tu trouveras des défis pour prendre en main Pandas et découvrir le contenu de ton dataset.

Toutes les infos sur le contenu du dataset sont disponibles sur sa page Kaggle.

Tu peux également récupérer les données directement depuis ce lien.

Les défis sont organisés en plusieurs parties :

Les données que nous avons nous donnent plein d’informations sociologiques sur des élèves d’établissements scolaires, et leurs résultats scolaires sur 3 trimestres consécutifs.

Dans la suite de l’activité, nous allons utiliser ces données pour essayer de prédire des résultats scolaires.

    •  

Défis Manipulation et transformation des données

Défi 1

Ouvre le fichier csv avec un dataframe panda et affiche la liste des colonnes qu’il contient ainsi que le type des valeurs dans chacune de ces colonnes avec la fonction info().

Puis regarde sur la page kaggle du projet, ce à quoi correspond chacun des intitulés des colonnes.

Voici un aperçu du résultat attendu

Défi 2

Affiche la forme du dataset pour obtenir le nombre de colonnes et le nombre de lignes qu’il contient avec data.shape.

Défi 3

Affiche les différentes valeurs contenues dans la colonne school avec la fonction unique().

Rappel : pour accéder à une colonne, tu peux utiliser la syntaxe data[‘colonne’].

Rappel 2: Pour afficher proprement tes données, tu peux afficher plusieurs éléments dans un seul print en les séparant par des virgules. Utilise cette syntaxe pour afficher proprement le résultat.

Défi 4

A l’aide d’une boucle for et de la variable data.columns qui retourne la liste de tous les intitulés des colonnes, affiche l’ensemble des valeurs de chacune des colonnes.

Défi 5

De nombreuses colonnes contiennent des valeurs textuelles. Les réseaux de neurones que nous utiliserons ont besoin que les données soient des valeurs numériques.

On va devoir transformer les valeurs textuelles en nombre.

A l’aide de la fonction loc, tu peux filtrer des valeurs et les modifier.

Utilise cette fonction pour changer les valeurs de l’école :

  • ‘GP’ devient 0
  • ‘MS’ devient 1

N’oublie pas d’utiliser la fonction unique() pour afficher le résultat.

Défi 6

On peut avoir besoin de transformer plusieurs valeurs de la même manière.

En créant une liste et avec un boucle for, pour toutes les colonnes qui ont pour valeur yes et no, change yes en 1 et no en 0.

Défis exploration et statistiques sur les données

 

Défi 1

Affiche la description statistique des notes à l’aide de la fonction describe() puis affiche les histogrammes de leurs répartitions à l’aide de la fonction plot.hist().

Quelles conclusions peut-on en tirer ?

Afin d’améliorer la lisibilité, tu peux utiliser l’argument subplots = True afin d’afficher les histogrammes séparément et l’argument figsize = (largeur, hauteur) afin de changer la taille de la figure.

Défi 2

Dans le défi précédent, on a vu que le nombre d’élève à avoir eu zéro de moyenne augmente avec le temps. C’est intriguant …

Regardons de plus près ces cas là.

Affiche les résultats (G1,G2 et G3) des personnes ayant eu 0 au troisième trimestre.

Pour cela tu peux utiliser la fonction query()

Que constate t’on ? Peut-on formuler une hypothèse qui justifie ce résultat ?

Utilise à nouveau la fonction query pour faire un nouveau dataset en enlevant toutes les lignes où les résultats au trimestre 3 sont 0.

Défi 3

Affiche les statistiques par trimestre selon les établissements à l’aide des fonction groupby() et describe().

Est-ce que l’établissement a un impact fort sur la moyenne ? Est-ce que c’est une donnée utile pour essayer de prédire les résultats scolaires ?

Est-ce que les valeurs qu’on a sur le minimum sont intéressantes ? N’y a t-il pas un moyen de les rendre plus intéressantes ? Ces résultats confortent-ils ou contredisent-ils ton avis sur l’utilité de ces données ? Vois-tu d’autres manières de regarder si ces données sont pertinentes ?

Pour améliorer la lisibilité, tu peux utiliser l’argument percentiles = [ ] pour enlever les quartiles et la médiane.

Défi 4

Affiche les résultats par trimestre selon l’âge à l’aide des fonctions groupby() et mean().

Est-ce que l’âge a un impact fort sur la moyenne ?
Si oui, as-tu une idée du pourquoi ?

As tu les mêmes résultats en utilisant le data_sans_0 ?

Qu’est ce que tu en penses ? Quelles hypothèses peut-on formuler à la lecture de ces résultats ?

Défi 5 :

Regardons maintenant l’équilibre des âges combien y a t’il d’enfants de chaque âge dans notre base de données.

Tu peux utiliser pour cela la fonction value_counts().

Peut-on utiliser cette fonction pour vérifier les hypothèses précédentes quand aux 0 et à l’âge ?

Y a t’il certaines tranches d’âges pour lesquels nous n’avons pas assez de représentativité dans nos données, et trop peu d’infos ? Pourquoi à ton avis ?

Défi 6

A toi de jouer ! Continue de parcourir les données et de regarder si tu vois des corrélations entre certaines données ou des limites dans celles-ci. Prends le temps de noter tes analyses elles te seront utiles plus tard.