Aller au contenu

Analyse de Données en python

Dans cette activité, nous allons utiliser le langage Python pour effectuer des traitements sur des données.

Par rapport à l'utilisation du tableur, cela permet :

  • de faire des opérations plus complexes (on peut programmer ce qu'on veut et on n'est pas limité par les options du tableur)
  • de travailler sur des plus gros fichier qui ne pourrait pas s'ouvrir dans le tableur
  • d'automatiser le traitement, on pourrait relancer facilement le programme sur des fichiers différents, sans avoir à tout refaire en cliquant comme dans un tableur

Commencez par télécharger le fichier fichier_eleves_a_extraire.zip, enregistrez-le puis allez dans le dossier téléchargement, faites un clic-droit dessus et "Extraire tout". Vous travaillerez ensuite dans le dossier extrait (et pas à l'intérieur du fichier zip !).

Premiers pas

Ouvrez le fichier fruits_legumes_fleurs.py dans Thonny.

Ce programme utilise le mini fichier de données au_marche.csv qui contient :

Nom,Type,Couleur,Prix
Pomme,fruit,rouge,3
Abricot,fruit,orange,6
Banane,fruit,jaune,5
Mûre,fruit,noir,4
Brocoli,légume,vert,7
Carotte,légume,orange,4
Cerise,fruit,rouge,8
Concombre,légume,vert,3
Jonquille,fleur,jaune,4
... (27 lignes en tout)
  • Le programme charge la bibliothèque manipulation_csv pour utiliser les fonctions lire_fichier, filtrer et afficher_collection
  • Les variables objets et objets_rouges contiennent des tableaux entiers de données, ce sont des variables avec un type plus complexe que ceux qu'on avait vu (on avait vu int pour entier, str pour le texte, bool pour True/False...)
  • Pour réutiliser les fonctions, regardez bien comment elles sont utilisées : nombre de paramètres, ce qu'il y a dans chaque paramètre, et est-ce qu'on met le résultat de la fonction dans une variable

1) Exécutez le code, qui devrait afficher la table des objets de couleur rouge

2) Modifiez le programme en utilisant la fonction afficher_collection, mais cette fois pour afficher tous les objets (une seule ligne à modifier).

3) À la suite du programme, créez une variable objets_verts et utilisez la fonction filtrer de manière à ce que la variable contienne les objets de couleur verte. Affichez ces objets.

4) Quel filtre faudrait-t-il faire pour obtenir les objets de l'image suivante ? Ajoutez le code pour faire ce filtre et les afficher.

Application : analyse des inégalités salariales femmes/hommes

L’INSEE est l’institut chargé de la production, de l’analyse et de la publication des statistiques officielles en France.

Nombre de ces données sont accessibles librement sur son site, par exemple à l’adresse https:// www.insee.fr/fr/statistiques/4994589 on peut télécharger un fichier CSV de 2.3 millions de ligne, chacune listant des informations sur une personne salariée, représentant 1/12ème de la population salariée en France en 2017.

Pour faciliter un peu le traitement, je vous ai préparé le fichier salaires_2017_20k.csv qui contient seulement 20000 lignes prises au hasard, mais vous pouvez très bien télécharger ensuite le fichier complet et faire les mêmes opérations dessus (il pèse 216Mo et cela prendra moins d’une minute pour exécuter le programme python dessus).

1) Ouvrez dans le Bloc-Note le fichier salaires_2017_20k.csv. Les noms des champs sur la première ligne ainsi que les valeurs de ces champs sur les lignes suivantes sont un peu mystérieux, et sont détaillés dans un autre fichier CSV : Varmod_SALAAN_2017.csv (qui est donc un fichier de métadonnées, des données sur les données).

En regardant les deux fichiers, trouvez dans quelle tranche est le salaire annuel de la personne de la première ligne.

2) Ouvrez dans Thonny le fichier analyse_insee.py, lisez le code (sauf les lignes commentées qui commencent par #) et exécutez-le.

3) La fonction len en python renvoit le nombre d’éléments dans le tableau qu’on lui donne en paramètre.

Rajoutez une variable hommes et affichez le nombre d’hommes dans la liste des salariés.

4) Le champ qui correspond au salaire s’appelle TRNNETO et prend des valeurs entre 0 et 23. En refaisant un filtre sur la variable femmes, affichez le nombre de femmes du fichier qui ont un salaire dans la tranche la plus élevée (23). Trouvez de la même façon le nombre d’hommes qui ont un salaire dans cette tranche.

5) Décommentez (enlevez le # au début de chaque ligne) les lignes de la fin du fichier, et exécutez le pour afficher un graphique qui représente combien il y a de femmes et d’hommes (sur l'axe des abscisses avec des barres en violet et gris) pour chaque tranche de salaire (sur l'axe des ordonnées, de la plus basse 0, à la plus haute 23).

Qu'est-ce que cela permet de déduire sur l'égalité salariale entre les femmes et les hommes en France ?