Il est souvent utile, pour une série statistique, de calculer la moyenne, l'écart-type et la proportion d'élément dans un intervalle de confiance. On peut écrire une fonction en Python qui renvoie ces éléments.
Quel programme permet de calculer la moyenne d'une liste ?
Pour calculer la moyenne d'une liste en Python, on a besoin de la taille que l'on peut calculer avec la fonction \verb/ len / et la somme des éléments que l'on peut calculer avec \verb/sum(liste)/.
Le calcul de la moyenne se fait donc simplement en divisant la somme par la taille :
\verb/ def moyenne(liste): /
\verb/ n=len(liste) #On calcule la taille de la liste /
\verb& m=sum(liste)/n #calcul de la moyenne &
\verb/ return m /
Quel programme permet de calculer l'écart-type d'une liste ?
Pour calculer l'écart-type d'une liste en Python, on a besoin de la moyenne pour appliquer la formule :
s = \sum_{i=1}^{n} (x_i - m)^2 avec m la moyenne
On définit une nouvelle liste avec toutes les valeurs (x_i - m)^2 avec une compréhension de liste :
\verb/ liste2=[(x-m)**2 for x in liste]/
Pour finir, on calcule la somme avec \verb/sum(liste2)/ et on divise par la taille de la liste pour trouver la variance. L'écart-type est la racine de la variance, on peut utiliser la fonction \verb/sqrt/ du module \verb/math/.
\verb/ from math import sqrt /
\verb/ def variance(liste): /
\verb/ n=len(liste) #On mesure la taille de la liste /
\verb& m=sum(liste)/n #calcul de la moyenne &
\verb/ liste2=[(x-m)**2 for x in liste] #On crée le liste des carrés des écarts à la moyenne /
\verb& variance=sum(liste2)/n #Calcul de la variance &
\verb/ s=sqrt(variance) #Calcul de l'écart-type /
\verb/ return s /
Quel programme permet de retourner la moyenne, l'écart-type et la proportion d'éléments entre [m-2s; m + 2s] d'une liste ?
Pour calculer la proportion, on calcule d'abord le nombre d'éléments dans l'intervalle en parcourant chaque élément de la liste à l'aide d'une boucle \verb/for/ et en vérifiant si l'élément i de la liste est dans l'intervalle :
\verb/if liste[i]<=b and liste[i]>=a:/
Pour cela, on définit un compteur qui augmente dès que la condition est vérifiée et on calcule la proportion en divisant la valeur du compteur par la taille du tableau.
\verb/ from math import sqrt /
\verb/ def stats(liste): /
\verb/ n=len(liste) #On mesure la taille de la liste /
\verb& m=sum(liste)/n #calcul de la moyenne &
\verb/ liste2=[(x-m)**2 for x in liste] #On crée la liste des carrés des écarts à la moyenne /
\verb& variance=sum(liste2)/n #Calcul de la variance &
\verb/ s=sqrt(variance) #Calcul de l'écart-type /
\verb/ a=m-2*s /
\verb/ b=m+2*s /
\verb/ compteur=0 /
\verb/ for i in range(n): /
\verb/ if liste[i]<=b and liste[i]>=a: /
\verb/ compteur = compteur + 1 /
\verb& proportion=compteur/n &
\verb/ return [m,s,proportion] /