L’analyse statistique des données nous aide à comprendre l’ensemble des informations. Cela a des applications dans de nombreux domaines tels que la biostatistique et l'analyse commerciale.
Au lieu de passer en revue des points de données individuels, un seul regard sur leur valeur moyenne ou variance collective peut révéler des tendances et des caractéristiques que nous aurions peut-être manquées en observant toutes les données au format brut. Cela rend également la comparaison entre deux grands ensembles de données beaucoup plus simple et plus significative.
Conscients de ces besoins, Python nous a fourni le module de statistiques.
Dans ce tutoriel, vous apprendrez différentes manières de calculer des moyennes et de mesurer la dispersion d'un ensemble de données donné. Sauf indication contraire, toutes les fonctions de ce module prennent en charge int
, flotte
, décimal
et fraction
ensembles de données basés en entrée.
Vous pouvez utiliser le moyenne (données)
fonction pour calculer la moyenne de certaines données. Il est calculé en divisant la somme de tous les points de données par le nombre de points de données. Si les données sont vides, une erreur StatisticsError sera déclenchée. Voici quelques exemples:
importer des statistiques à partir de fractions importer Fraction en tant que F à partir décimale importé Décimale en tant que D statistiques.mean ([11, 2, 13, 14, 44]) # renvoie 16,8 statistiques.mean ([F (8, 10), F (11, 20) ), F (2, 5), F (28, 5)]) # renvoie la fraction (147, 80) statistics.mean ([D ("1,5"), D ("5,75"), D ("10,625") , D ("2.375")]) # renvoie Decimal ('5.0625')
Vous avez appris beaucoup de fonctions pour générer des nombres aléatoires dans notre dernier tutoriel. Utilisons-les maintenant pour générer nos données et voir si la moyenne finale est égale à ce que nous attendons..
importer statistiques d'importation aléatoires data_points = [random.randint (1, 100) pour x compris dans la plage (1 1001)] statistics.mean (data_points) # renvoie 50,618 data_points = [random.triangular (1, 100, 80) pour x dans plage (1 1001)] statistics.mean (points_données) # retourne 59,93292281437689
Avec le randint ()
fonction, la moyenne devrait être proche du point médian des deux extrêmes, et avec la distribution triangulaire, elle est supposée être proche de bas + haut + mode / 3
. Par conséquent, la moyenne dans les premier et deuxième cas devrait être respectivement de 50 et 60,33, ce qui est proche de ce que nous avons réellement obtenu..
La moyenne est un bon indicateur de la moyenne, mais quelques valeurs extrêmes peuvent donner une moyenne éloignée de la position centrale réelle. Dans certains cas, il est plus souhaitable de déterminer le point de données le plus fréquent dans un ensemble de données. le mode()
function retournera le point de données le plus courant à partir de données numériques discrètes et non numériques. C'est la seule fonction statistique pouvant être utilisée avec des données non numériques..
importer statistiques d'importation aléatoires data_points = [random.randint (1, 100) pour x dans la plage (1,1001)] statistics.mode (data_points) # renvoie 94 données_points = [random.randint (1, 100) pour x dans la plage ( 1 1001)] statistics.mode (data_points) # renvoie 49 data_points = [random.randint (1, 100) pour x dans la plage (1 1001)] statistics.mode (data_points) # renvoie le mode 32 (["cat" , "chien", "chien", "chat", "singe", "singe", "chien"]) # renvoie 'chien'
Le mode des nombres entiers générés aléatoirement dans une plage donnée peut être n'importe lequel de ces nombres car la fréquence d'apparition de chaque nombre est imprévisible. Les trois exemples de l'extrait de code ci-dessus le prouvent. Le dernier exemple nous montre comment calculer le mode de données non numériques.
Compter sur le mode pour calculer une valeur centrale peut être un peu trompeur. Comme nous venons de le voir dans la section précédente, ce sera toujours le point de données le plus populaire, quelles que soient les autres valeurs de l'ensemble de données. Un autre moyen de déterminer un emplacement central consiste à utiliser le médian()
une fonction. Il renverra la valeur médiane de données numériques données en calculant la moyenne de deux points centraux si nécessaire. Si le nombre de points de données est impair, le point central est renvoyé. Si le nombre de points de données est pair, il renvoie la moyenne de deux valeurs médianes..
Le problème avec le médian()
fonction est que la valeur finale peut ne pas être un point de données réel lorsque le nombre de points de données est pair. Dans ce cas, vous pouvez soit utiliser median_low ()
ou median_high ()
calculer la médiane. Avec un nombre pair de points de données, ces fonctions renverront respectivement la valeur la plus petite et la plus grande des deux points centraux..
importer statistiques d'importation aléatoires data_points = [random.randint (1, 100) pour x dans la plage (1,50)] statistics.median (data_points) # renvoie 53 données_points = [random.randint (1, 100) pour x dans la plage ( 1,51)] statistics.median (data_points) # renvoie 51,0 data_points = [random.randint (1, 100) pour x dans la plage (1,51)] statistics.median (data_points) # renvoie 49,0 data_points = [random.randint (1, 100) pour x dans la plage (1,51)] statistics.median_low (data_points) # renvoie 50 statistics.median_high (data_points) # renvoie 52 statistics.median (data_points) # renvoie 51.0
Dans le dernier cas, les médianes basse et haute étaient 50 et 52. Cela signifie qu’il n’y avait aucun point de donnée avec la valeur 51 dans notre ensemble de données, mais le médian()
la fonction calcule toujours la médiane à 51,0.
Déterminer l'écart des points de données par rapport à la valeur typique ou moyenne de l'ensemble de données est tout aussi important que de calculer la valeur centrale ou moyenne elle-même. le statistiques module a quatre fonctions différentes pour nous aider à calculer cette propagation de données.
Vous pouvez utiliser le pvariance (data, mu = None)
fonction pour calculer la variance de la population d'un ensemble de données donné.
Le deuxième argument dans ce cas est facultatif. La valeur de mu, lorsqu’elles sont fournies, doivent être égales à la moyenne des données fournies. La moyenne est calculée automatiquement si la valeur est manquante. Cette fonction est utile lorsque vous souhaitez calculer la variance d’une population entière. Si vos données ne représentent qu’un échantillon de la population, vous pouvez utiliser le variance (data, xBar = None)
fonction pour calculer la variance de l'échantillon. Ici, xBar est la moyenne de l'échantillon donné et est calculé automatiquement s'il n'est pas fourni.
Pour calculer la définition standard de la population et l’écart type de l’échantillon, vous pouvez utiliser le pstdev (data, mu = None)
et stdev (data, xBar = None)
fonctions respectivement.
importer des statistiques à partir de fractions importer Fractions en tant que données F = [1, 2, 3, 4, 5, 6, 7, 8, 9] statistics.pvariance (data) # renvoie 6.666666666666667 statistics.pstdev (data) # renvoie 2.581988897471611 statistics.variance (data) # renvoie 7.5 statistics.stdev (data) # renvoie 2.7386127875258306 more_data = [3, 4, 5, 5, 5, 5, 5, 6, 6] statistics.pvariance (more_data) # renvoie 0.7654320987654322 statistics.pstdev (more_data ) # renvoie 0.8748897637790901 certaines_fractions = [F (5, 6), F (2, 3), F (11, 12)] statistiques.variance (certaines_fractions) # renvoie Fraction (7, 432)
Comme le montre l'exemple ci-dessus, une variance inférieure implique que plus de points de données ont une valeur plus proche de la moyenne. Vous pouvez également calculer l'écart type des nombres décimaux et des fractions.
Dans ce dernier tutoriel de la série, nous avons découvert différentes fonctions disponibles dans le statistiques module. Vous avez peut-être remarqué que les données fournies aux fonctions étaient triées dans la plupart des cas, mais ce n’est pas nécessairement le cas. J'ai utilisé des listes triées dans ce didacticiel, car elles permettent de comprendre plus facilement le lien entre la valeur renvoyée par différentes fonctions et les données d'entrée..