Calculer la moyenne, la médiane, la plus fréquente, la variance, l'écart type en Python

Calculer la somme, la moyenne, la médiane, la plus fréquente, la variance, l'écart type en Python

Lorsque vous utilisez Python, pensez à ce que représentent la somme, la moyenne, la médiane, le plus fréquent, la variance et l'écart type, et le type de traitement effectué.

environnement

mac version10.10.5 OSX Yosemite Python 3.6.1 |Anaconda 4.4.0 (x86_64)|

Livre de référence

Introduction aux mathématiques à partir de python Introduction aux statistiques d'auto-apprentissage complètes ↑ Je le recommande car les statistiques sont très faciles à comprendre.

Fonction de calcul statistique

Si vous voulez juste connaître la réponse plutôt que la méthode de calcul, vous pouvez l'utiliser pendant un moment ↓ {0: .2f} est utilisé pour afficher jusqu'à 2 chiffres après le point minoritaire.


from statistics import mean, median,variance,stdev

data = [100,200,300,400,500,500,600,700,800,800]

m = mean(data)
median = median(data)
variance = variance(data)
stdev = stdev(data)
print('moyenne: {0:.2f}'.format(m))
print('Médian: {0:.2f}'.format(median))
print('Distribué: {0:.2f}'.format(variance))
print('écart-type: {0:.2f}'.format(stdev))

Il existe diverses autres méthodes telles que l'utilisation de numpy. Introduction à la bibliothèque de calcul numérique Python NumPy

Ci-dessous, nous examinerons de plus près la méthode de calcul.

moyenne

À propos de la moyenne

data = [800,200,700,300,100,400,500,500,600,800]
s = sum(data)
N = len(data)
mean = s / N
print('moyenne:{0:.2f}'.format(mean))

Il peut être calculé par la formule ci-dessus. Tout d'abord, ajoutez tous les nombres dans le tableau de données à l'aide de la fonction de somme et comptez le nombre de nombres dans le tableau de données à l'aide de la fonction len. Divisez le total du tableau de données par le nombre pour obtenir la moyenne.

Médian

La valeur médiane est la valeur au centre d'une collection de nombres. En d'autres termes, la valeur médiane est la même, qu'elle soit comptée du haut ou du bas. Si le nombre pour lequel vous voulez trouver la médiane est impair, la médiane est un. Cependant, si le nombre est pair, la valeur médiane sera de deux, donc la valeur moyenne des deux nombres sera la valeur médiane.

Exemple:

Les résultats des tests de trois personnes (M. A, M. B et M. C) sont affichés. Si M. A a 80 points, M. B a 60 points et M. C a 100 points, la valeur médiane est M. A (80 points) qui a le même classement, que ce soit par le haut ou par le bas. Si M. D est ajouté ici (M. D 70 points), M. A et M. D auront le même classement, qu'ils soient comptés par le haut ou par le bas, de sorte que la médiane est de 80 points pour M. A et M. D La valeur médiane est de 75 points, soit la moyenne de 70 points (80 + 70/2).

Dans ce tableau de données, le nombre est pair, mais si une instruction est utilisée, un branchement conditionnel est effectué afin qu'il puisse être obtenu même si le nombre est impair. De plus, lors du calcul de la médiane, il est nécessaire de trier les données du tableau de données par ordre croissant, utilisez donc la méthode sort () pour trier les nombres du tableau par ordre croissant.

data = [100,200,300,400,500,500,600,700,800,800]
N = len(data)
data.sort()
#Si même
if N % 2 == 0:
    median1 = N/2
    median2 = N/2 + 1
    #Parce que python compte les éléments à partir de 0-1
    #En outre, l'opérateur de division renvoie un point décimal même si le résultat est un entier.(6 / 3 = 3.0)Faites-en un entier avec la fonction int
    median1 = int(median1) - 1
    median2 = int(median2) - 1
    median = (data[median1] + data[median2]) / 2
    print('La valeur médiane des données est:',median)
    #Si étrange
else:
    median = (N + 1) / 2
    #Parce que python compte les éléments à partir de 0-1
    median = int(median) - 1
    median = data[median]
    print('La valeur médiane des données est:',median)

Valeur la plus fréquente

La valeur la plus fréquente est la valeur qui apparaît le plus fréquemment. Dans la séquence [1,1,1,1,2,2,3,4] suivante, 1 apparaît 4 fois, donc 1 est la valeur la plus fréquente. Premièrement, il est pratique d'utiliser la méthode most_common () de la classe Counter pour trouver le plus d'éléments.

>>> from collections import Counter
>>> list = [1,1,2,2,3,4,5,5,5]
>>> c = Counter(list)
>>> c.most_common()
[(1,2),(2,2),(3,1),(4,1),(5,3)]

À partir de la gauche, 1 correspond à 2 fois, 2 à 2 fois, 3 à 1 fois, 4 à 1 fois et 5 à 3 fois.

Quand vous voulez le plus grand nombre >>> c.most_common(1) Si vous entrez, [(5, 3)] s'affiche. Si vous souhaitez calculer uniquement le nombre d'apparitions ou le nombre d'apparitions le plus, >>> mode = c.most_common(1) >>> mode[0] [(5,3)] >>> mode[0][0] 5 >>> mode[0][1] 3 Est affiché.

Comme nous voyons cette fois plusieurs valeurs les plus fréquentes dans le tableau de données, considérons le cas où il existe plusieurs valeurs les plus fréquentes.

from collections import Counter

def calculate_mode(data):
    c = Counter(data)
    #Extrait tous les éléments et leur nombre d'occurrences.
    freq_scores = c.most_common()
    #c.most_La plupart des éléments en commun[0]Nombre maximum d'apparitions[1]À[0][1]Spécifié par
    max_count = freq_scores[0][1]

    modes = []
     #Vérifiez si le nombre d'apparitions et le nombre maximum d'apparitions sont égaux.
    for num in freq_scores:
        if num[1] == max_count:
            modes.append(num[0])
    return(modes)

if __name__ == '__main__':
    data = [100,200,300,400,500,500,600,700,800,800]
    modes = calculate_mode(data)

    print('Le nombre le plus fréquent est:')
    for mode in modes:
        print(mode)

Dispersion et écart type

Comprendre la variance et l'écart type nécessite l'idée de moyenne et d'écart, je vais donc les expliquer ensemble.

Nom Mathématiques (score)
Monsieur A 60
Monsieur B 80
Monsieur C 90
M. D 40
Monsieur E 70

Sur la base des cinq scores mathématiques ci-dessus, considérez la moyenne, l'écart, la variance et l'écart type.

Valeur à rechercher une formule
Score moyen Total de 5 scores en mathématiques ÷ nombre de personnes
déviation Le score de chaque individu-Score moyen
Distribué Total des carrés de l'écart ÷ nombre de personnes
écart-type Racine carrée de distribution (valeur racine)

Tout d'abord, le score moyen est affiché en fonction des résultats des tests des 5 personnes ci-dessus.

moyenne

(60 + 80 + 90 + 40 + 70) ÷ 5 = ** 68 est le score moyen **. Divisez le score total de 5 personnes par le nombre de personnes qui ont passé le test.

déviation

Soustrayez le score moyen du score de chaque personne qui a passé le test.

Nom une formule(But-Score moyen) déviation
Monsieur A 60-68 -8
Monsieur B 80-68 12
Monsieur C 90-68 22
M. D 40-68 -28
Monsieur E 70-68 2

L'écart peut être calculé par la formule ci-dessus. De plus, la valeur de l'écart représente la différence par rapport à la valeur moyenne, donc l'addition de tous les écarts donne ** 0 **.

Distribué

La distribution est une mesure de la façon dont les données sont dispersées. Si vous utilisez l'écart obtenu en soustrayant le score de la moyenne, il semble que vous puissiez voir comment les données sont dispersées (dispersion), mais si vous ajoutez toutes les valeurs d'écart, le total sera toujours 0, donc la moyenne des valeurs d'écart au carré. Soit la valeur la valeur distribuée.

Nom une formule --
Monsieur A -8² 64
Monsieur B 12² 144
Monsieur C 22² 484
M. D -28² 784
Monsieur E 4
total --- 1480
Distribué 1480÷5 296

La somme des carrés des écarts des 5 personnes ci-dessus (1480) ÷ nombre de personnes (5 personnes) = ** 296 ** est la valeur de la dispersion.

écart-type

Puisque la valeur de la variance est au carré, la valeur devient très grande. Pour cette raison, l'utilisation de la valeur de distribution rend difficile la compréhension de la dispersion des données, donc trouver la racine carrée de la valeur de distribution facilite la visualisation. Cette valeur facile à lire est l'écart type. La racine carrée de 296 est 17,20 ,,, donc l'écart type est 17,20 ,,,.

La formule pour trouver les valeurs de la variance et de l'écart type en python est

def calculate_mean(data):
    s = sum(data)
    N = len(data)
    mean =s/N

    return mean

#Trouvez l'écart par rapport à la moyenne
def find_difference(data):
    mean = calculate_mean(data)
    diff = []

    for num in data:
        diff.append(num-mean)
    return diff

def calculate_variance(data):
    diff = find_difference(data)
    #Trouvez le carré de la différence
    squared_diff = []
    for d in diff:
        squared_diff.append(d**2)

    #Trouvez la variance
    sum_squared_diff = sum(squared_diff)
    variance = sum_squared_diff/len(data)
    return variance

if __name__ == '__main__':
    data = [100,200,300,400,500,500,600,700,800,800]
    variance = calculate_variance(data)
    print('La valeur de la distribution est:{0}'.format(variance))

    std = variance**0.5
    print('L'écart type est:{0}'.format(std))

C'est tout.

Recommended Posts

Calculer la moyenne, la médiane, la plus fréquente, la variance, l'écart type en Python
[Python] Comment gérer inf et NaN à une moyenne numpy, écart type, maximum / minimum
Calculer mW <-> dBm en Python
Matrice transposée au standard Python
Utilisation du mode Python dans le traitement
Calculer la perte de propagation de l'espace libre en Python
[Statistiques pour les programmeurs] Moyenne, médiane et la plus fréquente
Rendre la sortie standard non bloquante en Python
Essayez de calculer Trace en Python
[Algorithme x Python] Calcul des statistiques de base Partie 2 (moyenne, médiane, la plus fréquente)
Statistiques jusqu'à la dispersion et l'écart type
Calculer le mois précédent en Python
Calculer et afficher le poids standard avec python
Cours des actions et statistiques (moyenne, écart type)
2. Écart moyen et standard avec le réseau neuronal!
Essayez de calculer RPN avec Python (pour les débutants)
Conserver les noms de clé en cas avec ConfigParser standard Python
Comment générer "Ketsumaimo" en standard en Python
Optimisation de portefeuille avec Python (modèle de distribution moyenne de Markovitz)
Aplatir une liste standard bidimensionnelle irrégulière en Python
[Algorithme x Python] Calcul des statistiques de base Partie3 (plage, variance, écart type, coefficient de fluctuation)