BCPST1 16-17 INFORMATIQUE TP N°11 (suite)
3) Création d'un fichier csv avec Python
Exemple : dans le script précédent, créer un vecteur Freq contenant les fréquences.
Décommenter les instructions suivantes pour créer un nouveau fichier csv contenant les tailles et les
fréquences.
4) Lecture d'un fichier csv avec LibreOffice et Excel
Avec LibreOffice : lorsqu'on ouvre un fichier csv avec le tableur, une boîte de dialogue s'ouvre pour
choisir les paramètres d'importation. Cocher la virgule comme séparateur de données numériques.
Normalement les données doivent s'afficher correctement dans les cellules.
Avec Excel : lancer d'abord le tableur, ouvrir un nouveau classeur. Dans l'onglet Données du ruban,
choisir Fichiers texte. Une boîte de dialogue s'ouvre; sélectionner le fichier csv choisi et cliquer sur
importer; la fenêtre de l'assistant d'importation apparaît; choisir le type de fichier Délimité, l'origine du
fichier (pour éviter les problèmes d'encodage) et la virgule comme séparateur, vérifier que le résultat
est satisfaisant dans l'aperçu.
2e partie : exemple de statistique univariée continue
On a mesuré sur un échantillon de moules le rapport R= masse utile / masse brute, exprimé en %.
(Source : http://math.agrocampus-ouest.fr/infoglueDeliverLive/enseignement/support2cours/donnees )
On a réparti les observations en classe d'amplitude 5% :
Les données sont stockées dans le fichier moules_groupees.csv.
1) Créer un script python et importer csv, numpy et matplotlib.pyplot
2) Lire le fichier moules_groupees.csv et stocker ses lignes dans une liste L. Faire afficher L.
3) Créer à partir de cette liste :
– un vecteur numpy Bornesinf qui contient les bornes inférieures des classes (ai),
– un vecteur numpy Eff qui contient les effectifs;
Créer ensuite un vecteur X qui contient les milieux des classes (xi).
Faire afficher ces trois vecteurs.
4) Définir une fonction stats prenant comme arguments des vecteurs X et Eff contenant les milieux des
classes et les effectifs d'une distribution statistique continue quelconque et retourne :
le nombre p de classes, la taille n de l'échantillon, la moyenne observée de la statistique, sa variance
observée ainsi que son écart-type observé. (Placer cette fonction avant le bloc principal)
Créer des variables globales p, n, mX, SX2, SX et leur affecter les valeurs retournées par la fonction
stats appliquée aux variables globales X et Eff de ce script.
Faire afficher les valeurs de p, n, mX, SX.
5) Créer un vecteur numpy Freq contenant les fréquences des classes.
Ajouter une instruction de fermeture de toutes les figures existantes et créer une figure appelée
'frequences'.
Créer l'histogramme des fréquences de la distribution de R à l'aide de la fonction bar (les rectangles
ayant pour largeur l'amplitude des classes, et pour hauteur les fréquences)
Sur la même figure ajouter le polygone des fréquences, c'est-à-dire la ligne brisée joignant les points
de coordonnées (xi, fi).
6) Créer un vecteur numpy Freqcum contenant les fréquences cumulées des classes (f 'i), et un vecteur
Bornessup contenant les bornes supérieures de classes (ai+1)
7) Créer une nouvelle figure appelée "frequences cumulees".
Représenter (sur le même graphique) l'histogramme des fréquences cumulées (fonction bar) et la
courbe cumulative des fréquences, c'est-à-dire la ligne brisée qui joint les points de coordonnées
(a1, 0), (a2, f '1),…, (ai+1, f 'i),…(ap+1,f 'p).
Ajouter des droites "horizontales" permettant de lire sur le graphique la médiane et les quartiles de la
distribution étudiée.