Denken Sie bei der Verwendung von Python darüber nach, was die Summe, der Mittelwert, der Median, die häufigste Varianz und die Standardabweichung darstellen und welche Art von Verarbeitung ausgeführt wird.
mac version10.10.5 OSX Yosemite Python 3.6.1 |Anaconda 4.4.0 (x86_64)|
Einführung in die Mathematik ab Python Einführung in die vollständige Statistik des Selbststudiums ↑ Ich empfehle es, weil die Statistiken sehr einfach zu verstehen sind.
Wenn Sie nur die Antwort und nicht die Berechnungsmethode wissen möchten, können Sie diese für einen Moment verwenden ↓ {0: .2f} wird verwendet, um bis zu 2 Stellen nach dem Minderheitspunkt anzuzeigen.
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('durchschnittlich: {0:.2f}'.format(m))
print('Median: {0:.2f}'.format(median))
print('Verteilt: {0:.2f}'.format(variance))
print('Standardabweichung: {0:.2f}'.format(stdev))
Es gibt verschiedene andere Methoden wie die Verwendung von Numpy. Einführung in die Python Numerical Calculation Library NumPy
Über den Durchschnitt
data = [800,200,700,300,100,400,500,500,600,800]
s = sum(data)
N = len(data)
mean = s / N
print('durchschnittlich:{0:.2f}'.format(mean))
Sie kann nach der obigen Formel berechnet werden. Fügen Sie zunächst alle Zahlen im Datenfeld mit der Summenfunktion hinzu und zählen Sie die Anzahl der Zahlen im Datenfeld mit der Funktion len. Teilen Sie die Summe des Datenarrays durch die Zahl, um den Durchschnitt zu erhalten.
Der Medianwert ist der Wert in der Mitte einer Sammlung von Zahlen. Mit anderen Worten, der Medianwert ist der gleiche, unabhängig davon, ob er von oben oder unten gezählt wird. Wenn die Zahl, für die Sie den Median ermitteln möchten, ungerade ist, ist der Median eins. Wenn die Zahl jedoch gerade ist, beträgt der Medianwert zwei, sodass der Durchschnittswert der beiden Zahlen der Medianwert ist.
Die Testergebnisse von drei Personen (Herr A, Herr B und Herr C) werden angezeigt. Wenn Herr A 80 Punkte hat, Herr B 60 Punkte hat und Herr C 100 Punkte hat, ist der Medianwert Herr A (80 Punkte), der den gleichen Rang hat, unabhängig davon, ob er von oben oder unten zählt. Wenn Herr D hier hinzugefügt wird (Herr D 70 Punkte), haben Herr A und Herr D die gleiche Rangfolge, unabhängig davon, ob sie von oben oder unten gezählt werden, sodass der Medianwert für Herrn A und Herrn D 80 Punkte beträgt. Der Medianwert beträgt 75 Punkte, was dem Durchschnitt von 70 Punkten (80 + 70/2) entspricht.
In diesem Datenarray ist die Zahl gerade, aber wenn eine Anweisung verwendet wird, wird eine bedingte Verzweigung durchgeführt, so dass sie auch dann erhalten werden kann, wenn die Zahl ungerade ist. Bei der Berechnung des Medians müssen die Daten im Datenarray in aufsteigender Reihenfolge sortiert werden. Verwenden Sie daher die Methode sort (), um die Zahlen im Array in aufsteigender Reihenfolge zu sortieren.
data = [100,200,300,400,500,500,600,700,800,800]
N = len(data)
data.sort()
#Wenn auch
if N % 2 == 0:
median1 = N/2
median2 = N/2 + 1
#Weil Python Elemente von 0 zählt-1
#Außerdem gibt der Divisionsoperator einen Dezimalpunkt zurück, selbst wenn das Ergebnis eine Ganzzahl ist.(6 / 3 = 3.0)Machen Sie es eine Ganzzahl mit der int-Funktion
median1 = int(median1) - 1
median2 = int(median2) - 1
median = (data[median1] + data[median2]) / 2
print('Der Medianwert der Daten ist:',median)
#Wenn ungerade
else:
median = (N + 1) / 2
#Weil Python Elemente von 0 zählt-1
median = int(median) - 1
median = data[median]
print('Der Medianwert der Daten ist:',median)
Der häufigste Wert ist der Wert, der am häufigsten angezeigt wird. In der folgenden [1,1,1,1,2,2,3,4] -Sequenz erscheint 1 viermal, sodass 1 der häufigste Wert ist. Erstens ist es zweckmäßig, die Methode most_common () der Counter-Klasse zu verwenden, um die meisten Elemente zu finden.
>>> 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)]
Wenn Sie die größte Anzahl wollen >>> c.most_common(1) Wenn Sie eingeben, wird [(5, 3)] angezeigt. Wenn Sie nur die Anzahl der Auftritte oder die Anzahl der Auftritte am meisten berechnen möchten, >>> mode = c.most_common(1) >>> mode[0] [(5,3)] >>> mode[0][0] 5 >>> mode[0][1] 3 Wird angezeigt.
Da diesmal mehrere häufigste Werte im Datenarray angezeigt werden, betrachten Sie den Fall, in dem mehrere häufigste Werte vorhanden sind.
from collections import Counter
def calculate_mode(data):
c = Counter(data)
#Extrahiert alle Elemente und ihre Anzahl von Vorkommen.
freq_scores = c.most_common()
#c.most_Die meisten Elemente gemeinsam[0]Maximale Anzahl von Auftritten[1]Zu[0][1]Spezifiziert durch
max_count = freq_scores[0][1]
modes = []
#Überprüfen Sie, ob die Anzahl der Auftritte und die maximale Anzahl der Auftritte gleich sind.
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('Die häufigste Zahl ist:')
for mode in modes:
print(mode)
Um die Varianz und Standardabweichung zu verstehen, ist die Idee von Mittelwert und Abweichung erforderlich, daher werde ich sie gemeinsam erklären.
Name | Mathematik (Partitur) |
---|---|
Herr A. | 60 |
Herr B. | 80 |
Herr C. | 90 |
Herr D. | 40 |
Herr E. | 70 |
Berücksichtigen Sie anhand der obigen fünf mathematischen Ergebnisse den Mittelwert, die Abweichung, die Varianz und die Standardabweichung.
Wert gesucht werden | eine Formel |
---|---|
Durchschnittliche Punktzahl | Insgesamt 5 Mathe-Punkte ÷ Anzahl der Personen |
Abweichung | Die Punktzahl jedes Einzelnen-Durchschnittliche Punktzahl |
Verteilt | Summe der Abweichungsquadrate ÷ Anzahl der Personen |
Standardabweichung | Quadratwurzel der Verteilung (Wurzelwert) |
Zunächst wird die durchschnittliche Punktzahl basierend auf den Testergebnissen der oben genannten 5 Personen angezeigt.
(60 + 80 + 90 + 40 + 70) ÷ 5 = ** 68 ist die durchschnittliche Punktzahl **. Teilen Sie die Gesamtpunktzahl von 5 Personen durch die Anzahl der Personen, die den Test absolviert haben.
Subtrahieren Sie die durchschnittliche Punktzahl von der Punktzahl jeder Person, die den Test absolviert hat.
Name | eine Formel(Ergebnis-Durchschnittliche Punktzahl) | Abweichung |
---|---|---|
Herr A. | 60-68 | -8 |
Herr B. | 80-68 | 12 |
Herr C. | 90-68 | 22 |
Herr D. | 40-68 | -28 |
Herr E. | 70-68 | 2 |
Die Abweichung kann nach der obigen Formel berechnet werden. Außerdem stellt der Abweichungswert die Differenz zum Durchschnittswert dar, sodass das Addieren aller Abweichungen ** 0 ** ergibt.
Die Verteilung ist ein Maß dafür, wie die Daten gestreut werden. Wenn Sie die Abweichung verwenden, die durch Subtrahieren der Punktzahl vom Durchschnitt erhalten wird, können Sie anscheinend sehen, wie die Daten gestreut sind (Streuung). Wenn Sie jedoch alle Abweichungswerte addieren, ist die Summe immer 0, sodass der Durchschnitt der Abweichungswerte im Quadrat liegt. Der Wert sei der verteilte Wert.
Name | eine Formel | -- |
---|---|---|
Herr A. | -8² | 64 |
Herr B. | 12² | 144 |
Herr C. | 22² | 484 |
Herr D. | -28² | 784 |
Herr E. | 2² | 4 |
gesamt | --- | 1480 |
Verteilt | 1480÷5 | 296 |
Die Summe der Quadrate der Abweichungen der oben genannten 5 Personen (1480) ÷ Anzahl der Personen (5 Personen) = ** 296 ** ist der Wert der Streuung.
Da der Wert der Varianz quadriert wird, wird der Wert sehr groß. Aus diesem Grund ist es aufgrund der Verwendung des Verteilungswerts schwierig, die Streuung der Daten zu verstehen, sodass es einfacher ist, die Quadratwurzel des Verteilungswerts zu ermitteln. Dieser leicht ablesbare Wert ist die Standardabweichung. Die Quadratwurzel von 296 ist 17,20 ,,, die Standardabweichung ist 17,20 ,,,.
Die Formel zum Ermitteln des Werts der Varianz und der Standardabweichung in Python lautet
def calculate_mean(data):
s = sum(data)
N = len(data)
mean =s/N
return mean
#Finden Sie die Abweichung vom Durchschnitt
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)
#Finden Sie das Quadrat der Differenz
squared_diff = []
for d in diff:
squared_diff.append(d**2)
#Finden Sie die Varianz
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('Der Wert der Verteilung ist:{0}'.format(variance))
std = variance**0.5
print('Die Standardabweichung ist:{0}'.format(std))
Das ist es.