Statistiques en première ES 621

Listes en Python

In [3]:
lst = [10, 20, 30, 40, 50]

liste

In [11]:
# Longueur de la liste
len(lst)
Out[11]:
5
In [13]:
(lst[0], lst[1], lst[-1], lst[-2])
Out[13]:
(9, 20, 50, 40)

liste

In [9]:
lst[0] = 9
In [10]:
lst
Out[10]:
[9, 20, 30, 40, 50]

Pour une présentation des listes et de leurs méthodes : voir aussi Python_seconde

Parcourir une liste par index

In [16]:
for k in range(len(lst)):
    print("Index : ", k, "Element: ", lst[k])
Index :  0 Element:  9
Index :  1 Element:  20
Index :  2 Element:  30
Index :  3 Element:  40
Index :  4 Element:  50
In [19]:
notes = [10, 8, 6, 11, 7]
for k in range(len(notes)):
    #affichage des notes
    v = notes[k]
    print(v)
10
8
6
11
7

Parcourir une liste par éléments

In [15]:
for e in lst:
    print("Element : ", e)
Element :  9
Element :  20
Element :  30
Element :  40
Element :  50
In [20]:
notes = [10, 8, 6, 11, 7]
for v in notes:
    #affichage des notes
    print(v)
10
8
6
11
7

Calcul de la moyenne

Calcul de la moyenne en parcourant une liste par index

In [21]:
def moyenne(liste_notes):
    somme = 0
    effectif = len(liste_notes)
    for k in range(effectif):
        somme = somme + liste_notes[k]
    return somme / effectif    
In [22]:
notes
Out[22]:
[10, 8, 6, 11, 7]
In [23]:
moyenne(notes)
Out[23]:
8.4

Calcul de la moyenne en parcourant une liste par valeurs

In [24]:
def moyenne2(liste_notes):
    somme = 0
    effectif = len(liste_notes)
    for n in liste_notes:
        somme = somme + n
    return somme / effectif   
In [25]:
moyenne2(notes)
Out[25]:
8.4

Calcul de variance et d'écart-type

In [34]:
from math import sqrt

def variance(liste_notes):
    m = moyenne(liste_notes)
    effectif = len(liste_notes)
    somme = 0
    for note in liste_notes:
        somme = somme + (note - m) ** 2
    return somme / effectif

def ecart_type(liste_notes):
    return sqrt(variance(liste_notes))

Exemple 3

esperance

In [35]:
hommes = [77.6, 76.4, 77, 75.9, 76.2, 71.2]
femmes = [84.5, 85.3, 83, 82.1, 81.3, 79.4]
In [36]:
(moyenne(hommes), ecart_type(hommes))
Out[36]:
(75.71666666666665, 2.094768616233199)
In [37]:
(moyenne(femmes), ecart_type(femmes))
Out[37]:
(82.60000000000001, 1.9680785892167332)

exemple3

On commence par reconstituer la série brute.

In [40]:
note = [9, 10, 12, 13, 14, 15]
effectif = [5,6,8,4,5,5]
serie_brute = []
for k in range(len(note)):
    serie_brute = serie_brute + [note[k]] * effectif[k]
serie_brute
Out[40]:
[9,
 9,
 9,
 9,
 9,
 10,
 10,
 10,
 10,
 10,
 10,
 12,
 12,
 12,
 12,
 12,
 12,
 12,
 12,
 13,
 13,
 13,
 13,
 14,
 14,
 14,
 14,
 14,
 15,
 15,
 15,
 15,
 15]
In [41]:
(moyenne(serie_brute), ecart_type(serie_brute))
Out[41]:
(12.06060606060606, 2.0440511459442483)

Exemple 4

exemple4

In [44]:
noteA = [5,8,9,11,14,15]
effectifA = [2,2,1,1,4,2]
serie_bruteA = []
for k in range(len(note)):
    serie_bruteA = serie_bruteA + [noteA[k]] * effectifA[k]
serie_bruteA
Out[44]:
[5, 5, 8, 8, 9, 11, 14, 14, 14, 14, 15, 15]
In [45]:
(moyenne(serie_bruteA), ecart_type(serie_bruteA))
Out[45]:
(11.0, 3.6742346141747673)
In [48]:
serieB = [9,9,10,10,11,11,11,11,12,12,13,13]
In [49]:
(moyenne(serieB), ecart_type(serieB))
Out[49]:
(11.0, 1.2909944487358056)