Outils pour utilisateurs

Outils du site


bts:mm1:tp_stats

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
bts:mm1:tp_stats [2023/10/04 14:16] – créée goupillwikibts:mm1:tp_stats [2023/10/04 14:39] (Version actuelle) goupillwiki
Ligne 8: Ligne 8:
  
 <csv bts:mm1:data.csv maxlines=10 hdr_rows=0></csv> <csv bts:mm1:data.csv maxlines=10 hdr_rows=0></csv>
 +
 +===== Avec le tableur =====
 +
 +Avec un tableur comme Excel ou OpenOffice, récupérez les données et débrouiller vous pour obtenir :
 +
 +  * moyenne,
 +  * écart-type,
 +  * diagramme en boîte,
 +  * histogramme avec des barres s'appuyant sur les classes $[10;20[$, $[20;30[$, ... $[60;70[$.
 +
 +
 +===== Avec Python =====
 +
 +Je vous propose un script <wrap tip>on appelle script un petit fichier programme</wrap> en Python qui fait tout ce dont nous avons besoin.
 +
 +<WRAP box>
 +**Préalable :**
 +  - copiez le fichier ''data.csv'' dans le répertoire de votre choix,
 +  - ouvrez un environnement Python comme **EduPython**,
 +  - créez un nouveau fichier programme,
 +  - enregistrez-le tout de suite (encore vide) sous le nom ''statistiques.py'' dans le même répertoire que ''data.csv''
 +
 +Nous pouvons poursuivre.
 +</WRAP>
 +
 +Je découpe la suite en plusieurs morceaux pour insérer des explications, mais dans votre programme, tout sera à la suite.
 +
 +=== Déclarer les bibliothèques ===
 +
 +Python possède toutes les fonctions nécessaires. Souvent, ces fonctions ne sont pas présentes dans le langage de base. Elles se trouvent dans des bibliothèques de fonctions qu'il suffit d'utiliser.
 +
 +Ici, nous voulons pouvoir calculer une moyenne, un écart-type et faire des graphiques.
 +
 +<code python>
 +from numpy import mean, std
 +import matplotlib.pyplot as plt
 +</code>
 +
 +Dans ce qui précède, ''matplotlib.pyplot'' est une grosse bibliothèque graphique. On ne veut pas avoir à réécrire tout le temps ''matplotlib.pyplot'' alors on donne un alias (''as'') que l'on nomme ''plt''.
 +
 +=== Récupérer le contenu du fichier ===
 +
 +On souhaite ouvrir le fichier `data.csv` en mode **lecture** et en récupérer les lignes. Nous obtenons alors une sorte de liste ou chaque item est une ligne du fichier. Mais ces lignes sont considérées comme du texte. Nous devons donc indiquer à Python qu'il faut considérer chaque ligne comme un nombre à virgule : un ''float'' en langage informatique.
 +
 +<code python>
 +f = open('data.csv', 'r')
 +lines = f.readlines()
 +f.close()
 +
 +values = [float(item) for item in lines]
 +</code>
 +
 +À l'issue de ces lignes, ''values'' est une liste contenant toutes les valeurs de la série statistique.
 +
 +=== Calculs statistiques ===
 +
 +Nous avons importé les fonctions ''mean'' et ''std''. Il suffit de les utiliser : ''mean(values)'' nous donnera la moyenne. On peut l'afficher avec ''print''. Même chose pour l'écart-type.
 +
 +<code python>
 +print("moyenne :", mean(values))
 +print("écart-type :", std(values))
 +</code>
 +
 +=== Graphiques ===
 +
 +''matplotlib'' est une bibliothèque **TRÉS** riche. Vous pouvez voir un [[https://matplotlib.org/stable/gallery/index.html|aperçu]] de ce qui est possible.
 +
 +Dans notre script, ''plt'' est la machine à faire des graphiques.
 +
 +Parmi les graphiques disponibles, ''boxplot'' permet de faire des diagrammes en boîte. Je donne ci-dessous un exemple simple mais il y a beaucoup d'options.
 +
 +''hist'' permet de tracer un histogramme.
 +
 +<code python>
 +plt.boxplot(values, vert=False)
 +plt.figure()
 +plt.hist(values, bins=[20, 30, 40, 50, 60, 70], density = True, linewidth=0.5, edgecolor="black")
 +plt.show()
 +</code>
 +
 +Et voilà ! Il n'y a plus qu'à exécuter.
 +
 +
 +
  
  
bts/mm1/tp_stats.1696421782.txt.gz · Dernière modification : de goupillwiki