L’essentiel sur :
« 4-Traitement de données structurées en python»
Durée : - 3-Réaliser des opérations de recherche, filtre, tri ou calcul sur une ou plusieurs tables.
4 semaines
Après avoir vu différents types de données, nous allons maintenant, à l'aide du langage de programmation Python, apprendre à effectuer des traitements sur des données.
Python est un langage de programmation qui comporte plusieurs bibliothèques de fonctions pré- programmées.
-Préliminaires télécharger et installer une version de Edupython 2.7 (https://edupython.tuxfamily.org/) - Il faut installer le programme (en .py) et le fichier (en .csv) de données à traiter dans un même dossier (pour éviter les problèmes de chemin d’accès !).
I-Lire les données d’un fichier :
-La bibliothèque ‘Pandas’ contient des fonctions permettant le traitement de données.
-La bibliothèque ‘matplotlib’ permet de générer des graphiques à partir d’une série de données.
-Sous Edupython, ouvrir le fichier ‘données_air.py’
NB
: Un programme a toujours une structure, pour être le plus lisible.
-La fonction read_csv effectue la lecture de l’ensemble des lignes d’un fichier csv.
-sd est une mémoire temporaire (=variable) qui accueille des valeurs.
-sd.pm10.plot() permet de faire un point (=plot) pour chaude valeur de la colonne dont l’entête est pm10.
-Exécuter le programme : et observer la fenêtre graphique.
-Quelle fonction permet de donner un titre au graphique : ………..
-Modifier le programme pour observer l’évolution de l’indice d’ozone (o3).
Sur le graphique, quel jour a-t-on observé un pic d’ozone ?
………
II-Rechercher et calculer :
-Sous Edupython, ouvrir le fichier ‘qualité air_93066_no2.py’
-Exécuter le programme : et noter le résultat :……….
-Quelle fonction permet de donner un titre au graphique : ………..
-Modifier le programme pour qu’il affiche aussi la moyenne annuelle de l’indice d’ozone (o3) et de l’indice de particules fines (pm10)
Réponses :
Moyenne annuelle de l'indice de no2 : 33.41208791208791 Moyenne annuelle de l'indice de o3 : ………..
Moyenne annuelle de l'indice de pm10 : ………
-Modifier le programme pour qu’il affiche ces 3 informations pour la commune dont le code inssee est : 95585 (commune de Sarcelles).
Réponses :
Moyenne annuelle de l'indice de no2 : ………
Moyenne annuelle de l'indice de o3 : ………..
Moyenne annuelle de l'indice de pm10 : ………
III-Filtrer des données :
Trop de données tuent la donnée !! On ne souhaite conserver que certaines données d’une table.
1°-Ouvrir le fichier en LECTURE af = open("indices_IDF_2017.csv", "r") -Ouvrir le (nouveau) fichier en ÉCRITURE nf = open("indices_93066.csv", "w") 2°-Lire tout le fichier, Boucle while
-Réécrire les données pertinentes dans le nouveau fichier,
ligne= nf.write(ligne)
3°-Refermer les fichiers. af.close()
nf.close()
-Sous Edupython, ouvrir le fichier ‘qualité air_93066_no2.py’ le renommer sous :
‘FiltreCommune.py’
-Modifier ce programme pour qu’il affiche les informations pour la commune dont le code insee est : 930066 (commune de Saint Denis).
-Exécuter le programme :
-Ouvrir le fichier ‘indices_93066.csv’ généré à l’aide d’un tableur, puis noter le nombre de ligne qu’il contient :………
IV-Interpréter Visualiser des données :
On se consacre à l’étude que de la commune de Saint Denis (insee : 93066)
Qualité de l’air en fonction de la pollution :
Pollution Indice
Très faible 0 à 25
Faible 25 à 50
Moyenne 50 à 75
Élevée 75 à 100
Très élevée > 100
-Compléter le programme ci-dessous pour qu’il calcule le nombre de jours ou la pollution a été Élevée, concernant les particules fines :
nf = open("indices_93066.csv", "r") entete = nf.readline()
ligne = nf.readline() n = 0
while ligne != "":
date,ninsee,no2,o3,pm10 = ligne.split(",") if int(………) >= 75:
n = ………..
ligne = nf.readline()
print("Pollution élevée PM10, pendant", n, "jours") nf.close()
-1-Sous Edupython, taper le programme ci-dessus (complété) et sauvegarder–le sous le nom de fichier ‘conclusion_93066_1.py’ .
-Exécuter le programme : puis noter le nombre de jours:………
-2-Modifier le programme ‘conclusion_93066_2.py’: on considère que la pollution est globalement élevée si le plus grand des 3 indices est > 75.
-Exécuter le programme : puis noter le nombre de jours:………
-3-Sous Edupython, ouvrir le programme ‘conclusion_93066_3.py’ . Compléter-le pour calculer le nombre de jours où la pollution a été : très faible, faible, moyenne, élevée ou très élevée.
-Exécuter le programme : puis remplir le tableau ci-dessous :
CONCLUSION :
Synthèse de la pollution pour la commune de Saint Denis (année 2017) :
Très faible Faible Moyenne Elevée Très élevée
Nombre de jours