Python mean : trouver la valeur moyenne des éléments d’une liste

Python compte parmi les langages de programmation les plus populaires en ce qui concerne les statistiques et le développement de l’intelligence artificielle (IA). Le fait que Python propose déjà plusieurs méthodes et modules destinés à faciliter grandement le traitement des données n’a donc rien de surprenant. Découvrez avec nous la méthode mean de Python, et apprenez à déterminer la valeur moyenne de toutes sortes de nombres.

Présentation rapide de la méthode mean de Python

Syntaxe et fonctionnement

Il est vraiment simple d’expliquer le fonctionnement de la méthode mean : elle utilise un ensemble de nombres pour vous renvoyer leur valeur moyenne. Pour ce faire, les nombres en question doivent être regroupés au sein d’une même liste, transmise en tant que seul argument. La méthode peut aussi bien être utilisée avec des nombres entiers qu’avec des nombres flottants. D’ailleurs, le résultat du calcul apparaît toujours sous la forme d’un nombre flottant. L’exemple ci-dessous illustre la syntaxe et le fonctionnement de cette méthode.

import numpy as np
x = np.mean([1, 3, 2])
numbers = [1, 1.3, 4, 2.1, 1.0]
y = np.mean(numbers)
print(x)     # output: 2.0
print(y)     # output: 1.8800000000000001
Python

Comme le montre l’exemple ci-dessus, la méthode fonctionne exactement comme nous vous l’avons expliqué : une liste de nombres lui est transmise, et elle s’occupe de renvoyer leur valeur moyenne. Ce résultat se présente toujours sous la forme d’un nombre flottant, comme vous pouvez le voir dans l’exemple (« np.mean([1, 3, 2]) »). 2 est la valeur moyenne correspondante ; et même s’il s’agit d’un nombre entier, le résultat reste tout de même « 2.0 ». Cet exemple montre en outre que vous pouvez choisir de transmettre la liste directement, ou alors en tant que variable déjà créée.

Cet exemple contient aussi deux autres détails importants sur la méthode mean de Python : le premier est en lien avec la précision des nombres flottants, et le second concerne le module « numpy ».

Affichage des nombres flottants

Si vous effectuez vous-même manuellement le deuxième calcul présent dans l’exemple ci-dessus, alors vous obtiendrez un résultat exact de 1,88. Toutefois, ce n’est pas ce que le programme affiche. Cette différence s’explique par l’affichage des nombres flottants dans le cadre du système numérique binaire, qui constitue la base de tous les ordinateurs modernes. Comme c’est aussi le cas dans le système décimal habituel, il est impossible de représenter avec précision certains nombres fractionnaires dans le système binaire. Dans le système décimal, nous pourrions prendre pour exemple la valeur « 0,3333… ». Vous pouvez ajouter autant de « 3 » que vous voulez, mais vous ne parviendrez jamais exactement à un tiers.

Ce problème ne peut pas être évité, mais les nombres flottants restent néanmoins suffisamment précis pour que dans la plupart des cas, la différence soit infime. Vous devez toutefois être conscient des problèmes de précision associés aux nombres flottants lorsque vous travaillez avec ceux-ci.

Le module « numpy »

Comme vous pouvez le voir dans l’exemple ci-dessus, la méthode mean ne fait pas partie de la bibliothèque standard de Python. En effet, pour utiliser cette méthode, vous devez l’importer d’un module externe tel que « numpy » ou « statistics ». Il se peut que vous ayez à installer ces modules, mais une fois cette opération réalisée, ils s’intègreront très facilement à votre programme. Pour ce faire, ajoutez simplement la ligne de code « import numpy » au début de votre programme. Pour référencer ce module sous un autre nom à l’avenir, n’hésitez pas également à écrire « import numpy as x », « x » correspondant au nom que vous souhaitez donner au module.

Conseil

Vous cherchez à publier rapidement et facilement, voire directement, votre application Web en passant par Git ? Alors Deploy Now est vraiment la solution IONOS qu’il vous faut !

Solutions de substitution à la méthode mean de Python

Comme nous l’avons vu ensemble, la méthode mean n’apparaît pas dans la bibliothèque standard de Python ; pour l’obtenir, vous devez passer par l’importation de modules externes tels que « numpy ». Si cette solution est impossible ou que vous ne souhaitez pas y recourir, vous pouvez aussi choisir d’implémenter vous-même la méthode mean. Pour ce faire, les quelques lignes de code suivantes suffisent :

def mean(numbers):
    return sum(numbers)/len(numbers)
Python

Les méthodes « sum » et « len » utilisées dans le cadre de cette implémentation sont pour leur part intégrées à la bibliothèque standard de Python, et peuvent donc être appelées sans qu’il soit nécessaire de les importer. Comme le montre l’exemple ci-dessous, cette implémentation fonctionne exactement de la même manière que la méthode « mean » du module « numpy ».

def mean(numbers):
    return sum(numbers)/len(numbers)
x = mean([1, 3, 2])
numbers = [1, 1.3, 4, 2.1, 1.0]
y = mean(numbers)
print(x)    # output: 2.0
print(y)    # output: 1.8800000000000001
Python
Note

En plus des méthodes telles que « mean », les opérateurs Python sont essentiels au traitement des ensembles de données. Découvrez notre article à ce sujet, avec une présentation de chaque opérateur et des possibilités qu’il offre.

Exemples d’application de la méthode mean de Python

Pour finir, passons ensemble en revue quelques exemples illustrant la manière dont la méthode mean peut être utilisée. Dans le programme suivant, il est demandé à plusieurs reprises à l’utilisateur de renseigner un nombre. Par une conversion, celui-ci passe d’une String à un nombre entier, avant d’être ajouté à une liste. La valeur moyenne des éléments présents dans cette liste est toujours affichée, et elle s’actualise en permanence chaque fois que l’utilisateur renseigne un nouveau nombre.

import numpy as np
list = []
while(True):
    list.append(int(input('add number to list: ')))
    print(np.mean(list))
Python

L’exemple ci-dessous concerne trois personnes, chacune avec une coordonnée « x », « y » et « z ». La méthode mean est alors appliquée de manière à calculer et afficher le point central pour ces trois personnes.

import numpy as np
person1 = [1.5, 6.0, 4.2]
person2 = [10.0, 9.0, 7.7]
person3 = [15.5, 0.0, -5.0]
people = [person1, person2, person3]
Average position = []
i = 0
while(i < len(person1)):
    temp = []
    for x in people:
        temp.append(x[i])
    average position.append(np.mean(temp))
    i = i + 1
print(average position)     # output: [9.0, 5.0, 2.3000000000000003]
Python