Science des données en Python
L’objectif de cet atelier est d’apprendre à utiliser Python pour :
-
faire des tracés de courbes mathématiques et les exploiter
-
analyser des données
💻 Travail n° 1 Installation de l’environnement virtuel Python pour le co-enseignement mathématique
Suivre la procédure donnée dans Comment mettre l’environnement virtuel de co-enseignement math au lycée ?
💻 Travail n° 2 Tracé simple
À partir des exemples donnés dans le paragraphe “Utilisation basique” du cours, donner le code Python qui permet de tracer l’une au dessus de l’autre dans la même figure les 2 fonctions
et |
la fonction exponentielle de Numpy se nomme Ex. : |
Résultat attendu :
💻 Travail n° 3 Annotation de graphique
À partir de la documentation officielle de la méthode plot()
ou de tout autre ressource de votre choix, donner le code Python qui permet d’aboutir au graphique suivant :
💻 Travail n° 4 Vectorisation
On considère la fonction “porte” suivante :
On désire tracer sa représentation avec Matplotlib :
On saisi donc le code suivant :
import numpy as np
import matplotlib.pyplot as plt
def porte(x):
if np.abs(x) <= 0.5:
return 1
else :
return 0
if __name__ == "__main__":
x = np.linspace(-2,+2,100)
y = porte(x)
fig, ax = plt.subplots()
ax.plot(x, y)
plt.show()
🎯 Travail à faire :
-
Exécuter le code fourni.
Fonctionne-t-il comme attendu ? -
Le problème provient du fait que la fonction
porte()
n’est pas “vectorisée”, c’est-à-dire que Python n’est pas capable de l’appliquer à tous les éléments d’un tableau Numpy vu le code qui la compose.Parcourir le document Vectorisation
pour en apprendre plus sur ce concept.
-
Corriger le code en vectorisant la fonction
porte()
à l’aide de la fonctionvectorize()
de Numpy.
Vérifier que vous obtenez bien le tracé donné plus haut.La solution peut être adaptée de la partie Problème de la fonction
absolute()
du document de la question 2.
💻 Travail n° 5 Analyse de données
-
Télécharger localement le fichier
tmin-tmax-marseille-052021.csv
qui contient l’ensemble des températures minimales et maximales relevées chaque jour du mois d’avril 2021 à Marseille. -
Inspecter le contenu de ce fichier et répondre aux questions
Ce fichier est au format
csv
(pour coma separated values c.-à-d. “valeurs séparées par des virgules”).-
À quoi correspond chaque ligne ?
-
Quel caractère est utilisé en tant que séparateur décimal pour les températures ?
-
-
Créer un script Python qui chargera dans un ndarray l’ensemble des températures minimales et maximales relevées chaque jour du mois d’avril 2021 à Marseille depuis le fichier
tmin-tmax-marseille-052021.csv
.Pour cela, vous pourrez utiliser la fonction
loadtxt()
de Numpy :Exemple:tempMarseille = np.loadtxt('tmin-tmax-marseille-052021.csv', delimiter=',', skiprows=1) (1)
1 charge les données du fichier dans le ndarray tempMarseille
en utilisant le ‘,’ comme séparateur des valeurs et en omettant la 1èreligne qui contient le titre des colonnes -
Consulter la documentation des fonctions mathématiques de Numpy (→ Mathematical functions
) ainsi que celles des fonctions statistiques (→ Statistics
) et déterminer dans votre script :
-
la température la plus basse du mois
-
la température la plus élevée du mois
-
la température maximale la plus froide observée au cours du mois au plus chaud de la journée
-
les moyennes (mean en anglais) des températures minimales et maximales sur le mois
-
-
Tracer sur une même courbe pour l’ensemble du mois les températures minimales, maximales et moyennes pour chaque journée.
🞄 🞄 🞄