Table des matières

TP statistiques

On propose ici de manipuler des données avec ordinateur.

Vous pouvez télécharger ce fichier : data.csv

Voici un extrait de ce fichier :

54.18
56.55
47.07
46.35
56.83
61.32
50.07
51.06
51.41
47.79

Avec le tableur

Avec un tableur comme Excel ou OpenOffice, récupérez les données et débrouiller vous pour obtenir :

Avec Python

Je vous propose un script on appelle script un petit fichier programme en Python qui fait tout ce dont nous avons besoin.

Préalable :

  1. copiez le fichier data.csv dans le répertoire de votre choix,
  2. ouvrez un environnement Python comme EduPython,
  3. créez un nouveau fichier programme,
  4. enregistrez-le tout de suite (encore vide) sous le nom statistiques.py dans le même répertoire que data.csv

Nous pouvons poursuivre.

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.

from numpy import mean, std
import matplotlib.pyplot as plt

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.

f = open('data.csv', 'r')
lines = f.readlines()
f.close()

values = [float(item) for item in lines]

À 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.

print("moyenne :", mean(values))
print("écart-type :", std(values))

Graphiques

matplotlib est une bibliothèque TRÉS riche. Vous pouvez voir un 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.

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()

Et voilà ! Il n'y a plus qu'à exécuter.