Maison >développement back-end >Tutoriel Python >Modules mathématiques en python: statistiques

Modules mathématiques en python: statistiques

William Shakespeare
William Shakespeareoriginal
2025-03-09 11:40:101004parcourir

Mathematical Modules in Python: Statistics

Le module

Python statistics fournit des capacités de données statistiques de données puissantes pour nous aider à comprendre rapidement les caractéristiques globales des données, telles que la biostatistique et l'analyse commerciale. Au lieu de regarder les points de données un par un, regardez simplement des statistiques telles que la moyenne ou la variance pour découvrir les tendances et les fonctionnalités des données d'origine qui peuvent être ignorées et comparer les grands ensembles de données plus facilement et efficacement.

Ce tutoriel expliquera comment calculer la moyenne et mesurer le degré de dispersion de l'ensemble de données. Sauf indication contraire, toutes les fonctions de ce module prennent en charge le calcul de la valeur moyenne à l'aide de la fonction mean() plutôt que de simplement additionner la moyenne. Les nombres de points flottants peuvent également être utilisés.

import random
import statistics
from fractions import Fraction as F

int_values = [random.randrange(100) for x in range(9)]
frac_values = [F(1, 2), F(1, 3), F(1, 4), F(1, 5), F(1, 6), F(1, 7), F(1, 8), F(1, 9)]

mix_values = [*int_values, *frac_values]

print(statistics.mean(mix_values))
# 929449/42840

print(statistics.fmean(mix_values))
# 21.69582166199813

En commençant par Python 3.8, vous pouvez utiliser les fonctions geometric_mean(data, weights=None) et harmonic_mean(data, weights=None) pour calculer la moyenne géométrique et la moyenne harmonique.

La moyenne géométrique est le résultat de la division du produit de toutes les n valeurs dans les données à la racine de la puissance N. En raison d'erreurs de points flottants, les résultats peuvent être légèrement biaisés dans certains cas. Une application de la moyenne géométrique est de calculer rapidement le taux de croissance annuel composé. Par exemple, les ventes de quatre ans d'une entreprise sont respectivement de 100, 120, 150 et 200. Les taux de croissance en trois ans étaient respectivement de 20%, 25% et 33,33%. Le taux de croissance moyen des ventes d'une entreprise sera exprimé plus précisément en moyenne géométrique de pourcentages. La moyenne arithmétique donne toujours un taux de croissance incorrect et légèrement plus élevé.

import statistics

growth_rates = [20, 25, 33.33]

print(statistics.mean(growth_rates))
# 26.11

print(statistics.geometric_mean(growth_rates))
# 25.542796263143476

La moyenne harmonique n'est que la moyenne réciproque de la moyenne arithmétique du réciproque des données. Si les données contient des nombres zéro ou négatifs, une exception StatisticsError est lancée.

La moyenne harmonique est utilisée pour calculer la moyenne des ratios et des taux, tels que le calcul de la vitesse moyenne, de la densité ou de la résistance parallèle. Le code suivant calcule la vitesse moyenne lorsque quelqu'un parcourt une distance fixe (voici 100 km).

import statistics

speeds = [30, 40, 60]
distance = 100

total_distance = len(speeds) * distance
total_time = 0

for speed in speeds:
    total_time += distance / speed

average_speed = total_distance / total_time

print(average_speed)
# 39.99999999999999

print(statistics.harmonic_mean(speeds))
# 40.0

Il convient de noter que lorsqu'il y a plusieurs valeurs avec la même fréquence d'occurrence, la fonction multimode() dans Python 3.8 peut renvoyer plusieurs résultats.

import statistics

favorite_pet = ['cat', 'dog', 'dog', 'mouse', 'cat', 'cat', 'turtle', 'dog']

print(statistics.multimode(favorite_pet))
# ['cat', 'dog']

Calculez la médiane

Le calcul de la valeur centrale avec un mode peut être trompeur. Comme mentionné précédemment, le mode est toujours le point de données le plus fréquent, quelles que soient les autres valeurs de l'ensemble de données. Une autre façon de déterminer la position centrale consiste à utiliser la fonction pvariance(data, mu=None) pour calculer la variance de la population d'un ensemble de données donné.

Le deuxième paramètre de cette fonction est facultatif. Si une valeur de mu est fournie, elle doit être égale à la moyenne des données données. Si cette valeur est manquante, la moyenne est calculée automatiquement. Cette fonction est utile lorsque vous souhaitez calculer la variance de toute la population. Si vos données ne sont qu'un échantillon de la population, vous pouvez utiliser la fonction variance(data, xBar=None) pour calculer la variance de l'échantillon, où xBar est la moyenne d'un échantillon donné, qui est automatiquement calculé s'il n'est pas fourni.

L'écart type de population et l'écart type de l'échantillon peuvent être calculés à l'aide des fonctions pstdev(data, mu=None) et stdev(data, xBar=None) respectivement.

import random
import statistics
from fractions import Fraction as F

int_values = [random.randrange(100) for x in range(9)]
frac_values = [F(1, 2), F(1, 3), F(1, 4), F(1, 5), F(1, 6), F(1, 7), F(1, 8), F(1, 9)]

mix_values = [*int_values, *frac_values]

print(statistics.mean(mix_values))
# 929449/42840

print(statistics.fmean(mix_values))
# 21.69582166199813

Comme le montre l'exemple ci-dessus, une variance plus petite signifie que plus de points de données sont plus proches de la valeur de la moyenne. Vous pouvez également calculer l'écart type des décimales et des fractions.

Résumé

Dans le dernier tutoriel de cette série, nous avons appris les différentes fonctions fournies dans le module statistics. Vous avez peut-être remarqué que les données fournies à la fonction sont triées dans la plupart des cas, mais elles ne doivent pas être triées. Dans ce tutoriel, j'ai utilisé des listes triées car elles facilitent la compréhension de la relation entre les valeurs renvoyées par différentes fonctions et les données d'entrée.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn