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é.
mac version10.10.5 OSX Yosemite Python 3.6.1 |Anaconda 4.4.0 (x86_64)|
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.
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
À 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.
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.
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)
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)]
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)
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.
(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.
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 **.
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 | 2² | 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.
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.