Python : Calculer la somme, moyenne d'une liste

Table des matières

Introduction

  1. Calculer la somme d’une liste

1.1 Calcul de somme avec une boucle simple

1.2 Calculer la somme avec la méthode récursive

1.3 Calculer la somme avec la méthode sum ()

  1. Calculer la moyenne d'une liste

2.1 Calculer la moyenne avec les fonctions sum () et len ()

2.2 Calculer la moyenne avec la fonction mean ()

2.3 Calculer la moyenne avec les fonctions reduce () et lambda

  1. Calculer la médiane d'une liste

3.1 Calculer la médiane avec l’opérateur "~"

3.2 Calculer la médiane avec la méthode statistics.median ()

  1. Exercices

4.1 Exercice 1

4.2 Exercice 2

4.3 Exercice 3

  1. Solution des exercices

5.1 Exercice 1

5.2 Exercice 2

5.3 Exercice 3

Conclusion

Introduction

Lorsque nous essayons de décrire et de résumer un échantillon de données, nous commençons probablement par trouver la somme, la moyenne et la médiane et des données. Ce sont des mesures de tendance centrales qui constituent souvent notre premier regard sur un ensemble de données.

Dans ce tutoriel, nous allons apprendre à trouver ou à calculer la somme, la moyenne et la médiane d'une liste de données en Python. Nous allons d'abord coder une fonction Python pour chaque mesure, puis utiliser le module de statistiques de Python pour accomplir la même tâche.

Avec ces connaissances, nous pourrons jeter un coup d'œil à nos ensembles de données et avoir une idée de la tendance générale des données.

1. Calculer la somme d’une liste

Nous commencerons notre tutoriel par un problème simple. Supposons que vous souhaitiez calculer la somme d'une liste de nombres tels que : [1,4,6,7,9,8,15,19]. Nous allons essayer de calculer la somme de cette liste en utilisant tous les moyens possibles en python.

1.1 Calcul de somme avec une boucle simple

La solution la plus basique consiste à parcourir la liste en utilisant une boucle for / while, en ajoutant chaque valeur au total de la variable. Cette variable contiendra la somme de la liste à la fin de la boucle. Voir le code ci-dessous :

Syntaxe :

liste = [1,4,6,7,9,8,15,19]
total = 0
# Itérer chaque élément de la liste
# et ajoutez-les au total variable
for ele in range(0, len(liste)):
total = total + liste[ele]
print("Somme de tous les éléments d'une liste: ", total)

Résultat d’exécution :

Prétendez que vous n'avez pas de boucles while ou for. Comment calculeriez-vous la somme d'une liste de nombres ? C'est ce que nous allons découvrir dans la section suivante !

1.2 Calculer la somme avec la méthode récursive

Dans cette approche, au lieu d'utiliser des boucles, nous calculerons la somme de manière récursive. Une fois la fin de la liste atteinte, la fonction commencera à revenir en arrière. sommeDeListe prend deux arguments comme paramètres : la liste et l'index de la liste (n). Initialement, n est fixé à l'index maximum possible dans la liste et décrémenté à chaque appel récursif. Voir le code ci-dessous :

Syntaxe :

liste = [1,4,6,7,9,8,15,19]
def sommeDeListe(list, size):
if (size == 0):
return 0
else:
return list[size - 1] + sommeDeListe(list, size - 1)
total = sommeDeListe(liste, len(liste))
print("Somme de tous les éléments d'une liste: ", total)

Résultat d’exécution

1.3 Calculer la somme avec la méthode sum ()

La fonction sum () ajoute les éléments d'un itérable et renvoie la somme.

Les paramètres de sum ()

  • iterable - itérable (liste, tuple, dict, etc.). Les éléments de l'itérable doivent être des nombres.
  • start (facultatif) - cette valeur est ajoutée à la somme des éléments de l'itérable. La valeur par défaut de start est 0 (si omis).

C'est l'approche la plus simple. Python dispose de la fonction intégrée sum () pour calculer la somme de la liste. Voir le code ci-dessous :

Syntaxe :

liste = [1,4,6,7,9,8,15,19]
somme = sum(liste)
print("Somme de tous les éléments d'une liste: ", somme)

Résultat d’exécution

Remarque : Si vous devez ajouter des nombres à virgule avec une précision exacte, vous devez utiliser math.fsum (itérable) au lieu de sum ()

2. Calculer la moyenne d'une liste

La moyenne est une manière courante et intuitive de résumer un ensemble de nombres.

C’est ce que nous pourrions simplement appeler la « moyenne arithmétique » dans l’utilisation quotidienne, même si, comme nous le verrons, il existe également d’autres types de moyennes. Prenons un échantillon de nombres et calculons la moyenne.

Supposons qu'un organisme de bienfaisance scolaire accepte des dons depuis un certain temps de temps couvrant les 12 derniers jours (nous appellerons cela la période A). Pendant ce temps, les 12 chiffres suivants représentent le montant total des dons reçus pour chaque jour : 100, 60, 70, 900, 100, 200, 500, 500, 503, 600, 1000 et 1200. Nous pouvons calculer la moyenne en additionnant ces totaux, puis en divisant la somme par le nombre de jours ou le nombre des valeurs dans la liste. Dans ce cas, la somme des nombres est de 5733. Si nous divisons ce nombre par 12 (le nombre de jours), nous obtenons 477,75, qui est le don moyen par jour. Ce chiffre nous donne une idée générale de la somme d'argent donnée chaque jour.

Nous allons écrire un programme qui calcule et imprime la moyenne d’une collection de nombres. Comme nous venons de le voir, pour calculer la moyenne, nous devrons prendre la somme de la liste des nombres et la diviser par le nombre d'éléments de la liste.

Donc, notre liste est : dotations = [100, 60, 70, 900, 100, 200, 500, 500, 503, 600, 1000, 1200]. Essayons alors de calculer la moyenne de cette distribution en utilisant 3 façons différentes.

2.1 Calculer la moyenne avec les fonctions sum () et len ()

Une moyenne peut être calculée à l'aide des fonctions sum () et len () de la liste. La fonction sum () retournera la somme de toutes les valeurs de la liste, qui peut être divisée par le nombre d'éléments renvoyés par la fonction len (). Voir le code ci-dessous :

Syntaxe :

dotations = [100, 60, 70, 900, 100, 200, 500, 500, 503, 600, 1000, 1200]
def Moyenne(l):
avg = sum(l) / len(l)
return avg
moyenne = Moyenne(dotations)
print("La moyenne des dotations est :", moyenne)

Résultat d’exécution :

2.2 Calculer la moyenne avec la fonction mean ()

La fonction mean () de la bibliothèque de statistiques python peut être utilisée pour calculer directement la moyenne d'une liste.

Syntaxe

from statistics import mean
dotations = [100, 60, 70, 900, 100, 200, 500, 500, 503, 600, 1000, 1200]
def Moyenne(l):
myn = mean(l)
return myn
moyenne = Moyenne(dotations)
print ("la Moyenne des dotations est :", moyenne)

Résultat d’exécution

2.3 Calculer la moyenne avec les fonctions reduce () et lambda

La méthode reduce () peut être utilisée pour parcourir la liste et la somme peut être calculée dans la fonction lambda. Le nombre d'éléments peut être obtenu en utilisant len ().

Syntaxe 

from functools import reduce
dotations = [100, 60, 70, 900, 100, 200, 500, 500, 503, 600, 1000, 1200]
def Moyenne(l):
myn = reduce(lambda x, y: x + y, l) / len(l)
return myn
moyenne = Moyenne(dotations)
print("La moyenne des dotations est :", moyenne)

3. Calculer la médiane d'une liste

Maintenant que nous avons appris la moyenne, apprenons une autre statistique de tendance centrale: la médiane. La médiane fait référence à la valeur moyenne d'un ensemble de données, mais l'ensemble de données doit être ordonné du plus petit au plus grand ou du plus grand au plus petit. En fonction de la taille de votre jeu de données, la médiane peut être soit un calcul manuel rapide, soit une tâche très fastidieuse et sujette à de nombreuses erreurs. De plus, si l'ensemble de données contient un nombre impair de valeurs, le calcul est plus simple que s'il contient un nombre pair de valeurs, car vous devez rayer des valeurs puis calculer la moyenne entre les deux nombres restants.

3.1 Calculer la médiane avec l’opérateur "~"

Trouvons la médiane de la liste précédente de dons : 100, 60, 70, 900, 100, 200, 500, 500, 503, 600, 1000 et 1200. Après le tri du plus petit au plus grand, la liste des nombres devient 60, 70, 100, 100, 200, 500, 500, 503, 600, 900, 1000 et 1200. Nous avons un nombre pair d'éléments dans la liste (12), donc pour obtenir la médiane, nous devons prendre la moyenne des deux nombres du milieu. Dans ce cas, les nombres du milieu sont le sixième et le septième nombre : 500 et 500 et la moyenne de ces deux nombres est (500 + 500) / 2, ce qui revient à 500. Cela signifie que la médiane est de 500.

Supposons maintenant - juste pour cet exemple - que nous ayons un autre total de dons pour le 13e jour afin que la liste ressemble maintenant à ceci : 100, 60, 70, 900,100, 200, 500, 500, 503, 600, 1000, 1200 et 800.

Encore une fois, il faut trier la liste, qui devient : 60, 70, 100, 100,200, 500, 500, 503, 600, 800, 900, 1000 et 1200. Il y a 13 nombres dans cette liste (un nombre impair), donc la médiane de cette liste est simplement le nombre du milieu. Dans ce cas, c’est le septième nombre qui est 500.

Pour en savoir plus sur la façon de trier une liste,nous vous invitons à consulter ce tutoriel

Cette tâche peut être effectuée de manière brutale en utilisant la combinaison des fonctionnalités ci-dessus. En cela, nous trions la liste et en utilisant la propriété de l'opérateur « ~ » pour effectuer la négation, nous accédons à la liste de l'avant et de l'arrière, en effectuant le calcul requis pour trouver la médiane :

Syntaxe

dotations = [100, 60, 70, 900, 100, 200, 500, 500, 503, 600, 1000, 1200]
dotations.sort()
centre = len(dotations) // 2
résultat = (dotations[centre] + dotations[~centre]) / 2
print(dotations)
print("La médiane des dotations est : " + str(résultat))

Résultat d’exécution

3.2 Calculer la médiane avec la méthode statistics.median ()

Il s'agit de la méthode la plus générique pour effectuer cette tâche. Pour cela, nous utilisons directement la fonction intégrée pour effectuer la médiane de la liste. En utilisant cette méthode, vous n'avez pas besoin de trier la liste.

Syntaxe

import statistics
dotations = [100, 60, 70, 900, 100, 200, 500, 500, 503, 600, 1000, 1200]
résultat = statistics.median(dotations)
print("La médiane des dotations est : " + str(résultat))

Résultat d’exécution

4. Exercices

4.1 Exercice 1

Considérez la liste suivante : Liste : [8, 2, 3, 4, 7,9,5]

  1. Écrivez une fonction qui additionne tous les éléments à l'intérieur de la liste.
  2. Utilisez la fonction intégrée sum () pour effectuer la même tâche.

4.2 Exercice 2

Quel est le score moyen obtenu par un élève qui a enregistré les scores suivants sur 10 quiz de mathématiques ?

68, 55, 70, 62, 71, 58, 81, 82, 63, 79

4.3 Exercice 3

Considérer une situation où un agent immobilier veut une mesure de la tendance centrale des maisons qu’il a vendues au cours de la dernière année. Elle fait une liste de tous les totaux :

75 000,75 000 ,150 000 ,155 000 ,165 000,203 000 ,750 000 ,755 000.

Essayez de calculer la somme, la moyenne, et la médiane de cette distribution en utilisant l'une des méthodes citées dans ce tutoriel.

5. Solution des exercices

5.1 Exercice 1

Liste = [8, 2, 3, 4, 7,9,5]

1) Essayons de créer une fonction qui calcule la somme de la liste :

Syntaxe

def sommeDeListe(list, size):
if (size == 0):
return 0
else:
return list[size - 1] + sommeDeListe(list, size - 1)
total = sommeDeListe(liste, len(liste))
print("Somme de tous les éléments d'une liste: ", total)

Résultat d’exécution

2) En utilisant la fonction intégrée sum ().

Syntaxe 

Liste = [8, 2, 3, 4, 7,9,5]
somme = sum(liste)
print("Somme de tous les éléments d'une liste: ", somme)

Résultat d’exécution

5.2 Exercice 2

Notre liste est :

Score = [68, 55, 70, 62, 71, 58, 81, 82, 63, 79]

Essayons de calculer la moyenne en utilisant la fonction intégrée mean () et le module statistique :

Syntaxe 

from statistics import mean
Score = [68, 55, 70, 62, 71, 58, 81, 82, 63, 79]
def Moyenne(l):
myn = mean(l)
return myn
moyenne = Moyenne(Score)
print("La moyenne des scores est :", moyenne)

Résultat d’exécution 

5.3 Exercice 3 

Revenue = [75 000,75 000 ,150 000 ,155 000 ,165 000,203 000 ,750 000 ,755 000 ]

Essayons d'écrire un code qui calcule la somme, la moyenne et la médiane de cette distribution :

Syntaxe

Import statistics
from statistics import mean
Revenue = [75000,75000 ,150000 ,155000 ,165000,203000 ,750000 ,755000]
#La somme
somme = sum(Revenue)
#La moyenne
def Moyenne(l):
myn = mean(l)
return myn
moyenne = Moyenne(Revenue)
#La médiane
médiane = statistics.median(Revenue)
print("Somme de tous les revenues est: ", somme)
print("La moyenne des revenues est :", moyenne)
print("La médiane des revenues est : " + str(médiane))

Résultat d’exécution

Conclusion

La somme, la moyenne et la médiane sont généralement nos premiers regards sur un échantillon de données lorsque nous essayons de comprendre la tendance centrale des données. Dans ce tutoriel, nous avons appris à trouver ou à calculer la moyenne, la médiane et la somme à l'aide de Python. Nous avons d'abord expliqué, étape par étape, comment créer nos propres fonctions pour les calculer, puis comment utiliser le module de statistiques de Python comme un moyen rapide de trouver ces mesures.

Article publié le 19 Décembre 2020par Mouhtat Bilal