Numpy standard deviation explained
In diesem Tutorial wird erklärt, wie Sie die Numpy-Standardabweichungsfunktion (AKA, np.std).
Auf hoher Ebene ist die Numpy-Standardabweichungsfunktion einfach. Es berechnet die Standardabweichung der Werte in einem Numpy-Array.
Aber die Details, wie die Funktion genau funktioniert, sind ein wenig komplex und bedürfen einer Erklärung.
Abgesehen davon wird in diesem Tutorial erklärt, wie die Numpy-Standardabweichungsfunktion verwendet wird.
Es wird die Syntax von np erklären.std(), und zeigen Ihnen klare, Schritt-für-Schritt-Beispiele, wie die Funktion funktioniert.
Das Tutorial ist in Abschnitte unterteilt. Sie können auf einen der folgenden Links klicken, um zum entsprechenden Abschnitt zu gelangen.
Inhaltsverzeichnis:
- Ein sehr schneller Überblick über Numpy
- Einführung in die Numpy-Standardabweichung
- Die Syntax von np.std
- Numpy Standardabweichung Beispiele
- Numpy Standardabweichung FAQ
Wenn Sie jedoch relativ neu in Numpy sind, möchten Sie vielleicht das gesamte Tutorial lesen.
- Ein kurzer Überblick über Numpy
- Numpy ist ein Toolkit für die Arbeit mit numerischen Daten
- Numpy bietet Werkzeuge zum Bearbeiten von Numpy-Arrays
- Eine kurze Einführung in die Numpy-Standardabweichung
- Eine kurze Anmerkung, wenn Sie neu in der Statistik sind
- Die Syntax von np.std
- Eine kurze Anmerkung: Die genaue Syntax hängt davon ab, wie Sie Numpy importieren
- nw.std-Syntax
- Die Parameter von numpy.std
- a(erforderlich)
- axis
- dtype
- ddof
- out
- keepdims
- Beispiele für die Verwendung der Numpy-Standardabweichung
- Führen Sie diesen Code zuerst aus
- BEISPIEL 1: Berechnen Sie die Standardabweichung eines 1-dimensionalen Arrays
- 1D-Array erstellen
- Standardabweichung berechnen
- Eine kurze Anmerkung
- BEISPIEL 2: Berechnen Sie die Standardabweichung eines 2-dimensionalen Arrays
- 2-dimensionales Array erstellen
- Standardabweichung mit np berechnen.std
- BEISPIEL 3: Berechnen Sie die Standardabweichung der Spalten
- 2-dimensionales Array erstellen
- Verwenden Sie np.std um die Standardabweichung der Spalten zu berechnen
- Erklärung
- BEISPIEL 4: Verwenden Sie np.std Um die Standardabweichungen der Zeilen
- 2-dimensionales Array erstellen
- Verwenden Sie np.std um die Standardabweichung der Zeilen zu berechnen
- Erklärung
- BEISPIEL 5: Ändern Sie die Freiheitsgrade
- Numpy-Array erstellen
- Beispiel erstellen
- Berechnen Sie die Standardabweichung der Probe
- Erklärung
- BEISPIEL 6: Verwenden Sie den Parameter keepdims in np.std
- 2-dimensionales Array erstellen
- Überprüfen Sie die Abmessungen
- Berechnen Sie die Standardabweichung und überprüfen Sie die Abmessungen
- Behalten Sie die ursprünglichen Abmessungen bei, wenn wir np verwenden.std
- Häufig gestellte Fragen zur Numpy-Standardabweichung
- Frage 1: Warum liefert numpy std() ein anderes Ergebnis als matlab std() oder eine andere Programmiersprache?
- Hinterlassen Sie Ihre anderen Fragen in den Kommentaren unten
- Nehmen Sie an unserem Kurs teil, um mehr über Numpy zu erfahren
Ein kurzer Überblick über Numpy
Beginnen wir einfach mit einem sehr schnellen Überblick über Numpy.
Was ist Numpy?
Numpy ist ein Toolkit für die Arbeit mit numerischen Daten
Um es einfach auszudrücken, Numpy ist ein Toolkit für die Arbeit mit numerischen Daten.Zunächst verfügt Numpy über eine Reihe von Tools zum Erstellen einer Datenstruktur, die als Numpy-Array bezeichnet wird.
Sie können sich ein Numpy-Array als Zeilen- und Spaltenraster von Zahlen vorstellen. Numpy-Arrays können 1-dimensional, 2-dimensional oder sogar n-dimensional sein.
Ein 2D-Array sieht ungefähr so aus:
Der Einfachheit halber werden wir uns in diesem Tutorial an 1- oder 2-dimensionale Arrays halten.
Es gibt eine Vielzahl von Möglichkeiten, verschiedene Arten von Arrays mit verschiedenen Arten von Zahlen zu erstellen. Einige andere Tools zum Erstellen von Numpy-Arrays umfassen numpy arrange, numpy zeros, numpy ones, numpy tile und andere Methoden.
Unabhängig davon, wie Sie Ihr Numpy-Array erstellen, sind sie auf hoher Ebene einfach Arrays von Zahlen.
Numpy bietet Werkzeuge zum Bearbeiten von Numpy-Arrays
Numpy bietet nicht nur Werkzeuge zum Erstellen von Numpy-Arrays, sondern auch Werkzeuge zum Arbeiten mit Numpy-Arrays.
Einige der wichtigsten dieser Numpy-Tools sind Numpy-Funktionen zum Ausführen von Berechnungen.
Es gibt eine ganze Reihe von Numpy-Funktionen, um Dinge zu tun wie:
- Berechnen der Summe eines Numpy-Arrays
- Berechnen des Maximums
- Berechnen des Exponentials der Zahlen in einem Array
- Berechnen des Werts x zu einer gewissen Potenz für jeden Wert in einem Numpy-Array
… und eine Vielzahl anderer Berechnungen.
Die Numpy-Standardabweichung ist im Wesentlichen diesen anderen Numpy-Tools sehr ähnlich. Es wird nur verwendet, um eine Berechnung (die Standardabweichung) einer Gruppe von Zahlen in einem Numpy-Array durchzuführen.
Eine kurze Einführung in die Numpy-Standardabweichung
Auf einem sehr hohen Niveau ist die Standardabweichung ein Maß für die Streuung eines Datensatzes. Insbesondere ist es ein Maß dafür, wie weit die Datenpunkte vom Mittelwert der Daten entfernt sind.
Lassen Sie uns kurz die grundlegende Berechnung überprüfen.
Die Standardabweichung wird als Quadratwurzel der Varianz berechnet.
Wenn wir also einen Datensatz mit Zahlen haben, ist die Varianz:
Und die Standardabweichung ist nur die Quadratwurzel der Varianz:
Wobei:
= die einzelnen Werte im Datensatz
= die Anzahl der Werte im Datensatz
= der Mittelwert der Werte
Meistens ist die Berechnung der Standardabweichung von Hand eine kleine Herausforderung, da Sie den Mittelwert, die Abweichungen jedes Datenpunkts vom Mittelwert, dann das Quadrat der Abweichungen usw. berechnen müssen. Ehrlich gesagt ist es ein bisschen langweilig.
Wenn Sie jedoch in Python arbeiten, können Sie die Numpy-Standardabweichungsfunktion verwenden, um die Berechnung für Sie durchzuführen.
Eine kurze Anmerkung, wenn Sie neu in der Statistik sind
Denn in diesem Blogbeitrag geht es um die Verwendung von Numpy.std () -Funktion, ich möchte nicht zu tief in das Unkraut eindringen, wie die Berechnung von Hand durchgeführt wird. In diesem Tutorial geht es wirklich darum, wie wir die Funktion verwenden. Wenn Sie also eine kurze Übersicht über die Standardabweichung benötigen, können Sie sich dieses Video ansehen.
OK. Nachdem wir schnell überprüft haben, was Standardabweichung ist, schauen wir uns die Syntax für np an.std.
Die Syntax von np.std
Die Syntax der Numpy-Standardabweichungsfunktion ist ziemlich einfach.
Ich werde es in einer Sekunde erklären, aber zuerst möchte ich Ihnen eine kurze Anmerkung zur Numpy-Syntax geben.
Eine kurze Anmerkung: Die genaue Syntax hängt davon ab, wie Sie Numpy importieren
Normalerweise verwenden wir beim Schreiben der Numpy-Syntax den Alias „np“. Das ist die übliche Konvention unter den meisten Datenwissenschaftlern.
Um diesen Alias festzulegen, müssen Sie Numpy wie folgt importieren:
import numpy as np
Wenn wir Numpy mit diesem Alias importieren, können wir die Numpy-Standardabweichungsfunktion als np.std()
aufrufen.
Ok, davon abgesehen, schauen wir uns die Syntax genauer an.
nw.std-Syntax
Auf hoher Ebene die Syntax für np.std sieht ungefähr so aus:
Wie bereits erwähnt, rufen wir die Funktion mit der Syntax np.std()
auf, vorausgesetzt, wir haben Numpy mit dem Alias „np
“ importiert.
Dann gibt es innerhalb der Klammer mehrere Parameter, mit denen Sie genau steuern können, wie die Funktion funktioniert.
Schauen wir uns diese Parameter an.
Die Parameter von numpy.std
Es gibt einige wichtige Parameter, die Sie kennen sollten:
a
axis
dtype
ddof
keepdims
out
Werfen wir einen Blick auf jeden von ihnen.
a
(erforderlich)
Der Parameter a
gibt das Array von Werten an, über das Sie die Standardabweichung berechnen möchten.
Anders gesagt, dies ermöglicht es Ihnen, das Eingabearray für die Funktion anzugeben.
Geeignete Eingaben sind Numpy-Arrays, aber auch „Array-ähnliche“ Objekte wie Python-Listen.
Wichtig ist, dass Sie eine Eingabe für diesen Parameter angeben müssen. Eine Eingabe ist erforderlich.
Allerdings kann der Parameter selbst implizit oder explizit sein. Damit meine ich, dass Sie den Parameter a=
direkt eingeben können, ODER Sie können den Parameter aus Ihrer Syntax herauslassen und einfach den Namen Ihres Eingabearrays eingeben.
Ich zeige Ihnen Beispiele dafür in Beispiel 1.
axis
Mit dem Parameter axis können Sie eine Achse angeben, entlang der die Standardabweichung berechnet wird.
Um dies zu verstehen, müssen Sie Achsen wirklich verstehen.
Numpy Arrays haben Achsen.
Sie können sich eine „Achse“ wie eine Richtung entlang des Arrays vorstellen.
In einem 2-dimensionalen Array gibt es 2 Achsen: Achse-0 und Achse-1.
In einem 2D-Array zeigt Achse-0 entlang der Zeilen nach unten und Achse-1 horizontal entlang der Spalten.
Visuell können Sie die Achsen eines 2D-Arrays wie folgt visualisieren:
Mit dem Parameter axis
können Sie die Standardabweichung in einer bestimmten Richtung entlang des Arrays berechnen.
Dies lässt sich am besten anhand von Beispielen veranschaulichen, daher zeige ich Ihnen ein Beispiel in Beispiel 2.
(Eine vollständige Erklärung der Numpy-Array-Achsen finden Sie in unserem Tutorial Numpy axes explained .)
dtype
(optional)
Mit dem Parameter dtype
können Sie den Datentyp angeben, den Sie beim Laden verwenden möchten.std berechnet die Standardabweichung.
Wenn die Daten im Eingabearray Ganzzahlen sind, wird standardmäßig float64
.
Wenn die Daten im Eingabearray Floats sind, wird standardmäßig derselbe Float-Typ wie das Eingabearray verwendet.
ddof
(optional)
Hiermit können Sie die „Freiheitsgrade“ für die Berechnung angeben.
Um dies zu verstehen, müssen Sie Gleichung 2 erneut betrachten.
In dieser Gleichung ist der erste Term .
Denken Sie daran: ist die Anzahl der Werte im Array oder Dataset.
Wenn wir jedoch statistisch denken, gibt es tatsächlich einen Unterschied zwischen der Berechnung einer Populationsstandardabweichung und einer Stichprobenstandardabweichung.
Wenn wir eine Populationsstandardabweichung berechnen, verwenden wir den Begriff in unserer Gleichung.
Wenn wir jedoch die Standardabweichung für eine Stichprobe von Daten berechnen (eine Stichprobe von Datenpunkten), müssen wir die Gleichung so ändern, dass der führende Term . In diesem Fall wird die Gleichung für eine Probe Standardabweichung:
Wie setzen wir das mit np um.Geschlechtskrankheit?
Wir können dies mit dem Parameter ddof
tun, indem wir ddof = 1
.
Und tatsächlich können wir den ddof
Begriff allgemeiner setzen. Wenn wir ddof
verwenden, wird die Berechnung der Standardabweichung folgendermaßen geändert:
Um ehrlich zu sein, ist dies ein wenig technisch. Wenn Sie mehr darüber erfahren möchten, sollten Sie sich dieses Video an der Khan Academy über Freiheitsgrade und Population vs sample Standard deviation ansehen.
out
(optional)
Mit dem Parameter out
können Sie ein alternatives Array angeben, in das die Ausgabe eingefügt werden soll.
Es sollte die gleiche Form wie die erwartete Ausgabe haben.
keepdims
(optional)
Mit dem Parameter keepdims
kann die ursprüngliche Anzahl der Dimensionen „beibehalten“ werden. Wenn Sie keepdims = True
, hat die Ausgabe die gleiche Anzahl von Dimensionen wie die Eingabe.
Denken Sie daran: Wenn wir die Standardabweichung berechnen, wird die Berechnung die Anzahl der Dimensionen „reduzieren“.
Wenn wir beispielsweise ein 2-dimensionales Array als Eingabe eingeben, wird standardmäßig np .std gibt eine Nummer aus. Ein skalarer Wert.
Wenn wir jedoch möchten, dass die Ausgabe eine Zahl innerhalb eines 2D-Arrays ist (dh ein Ausgabearray mit denselben Abmessungen wie die Eingabe), können wir keepdims = True
.
Um ehrlich zu sein, sind einige dieser Parameter ein wenig abstrakt, und ich denke, sie werden mit Beispielen viel sinnvoller sein.
Schauen wir uns einige Beispiele an.
Beispiele für die Verwendung der Numpy-Standardabweichung
Hier werden wir einige Beispiele durcharbeiten. Wir fangen einfach an und erhöhen dann die Komplexität.
Beispiele:
- Standardabweichung eines 1-dimensionalen Arrays berechnen
- Berechnen Sie die Standardabweichung eines 2-dimensionalen Arrays
- Verwenden Sie np.std um die Standardabweichungen der Spalten
- zu berechnen,Verwenden Sie np .std um die Standardabweichungen der Zeilen zu berechnen
- Ändern Sie die Freiheitsgrade
- Verwenden Sie den Parameter keepdims in np.std
Führen Sie diesen Code zuerst aus
Bevor Sie einen der Beispielcodes ausführen, müssen Sie Numpy importieren.
Dazu können Sie den folgenden Code ausführen:
import numpy as np
Dadurch wird Numpy mit dem Alias „np
“ importiert.
BEISPIEL 1: Berechnen Sie die Standardabweichung eines 1-dimensionalen Arrays
Hier beginnen wir einfach.
Wir werden die Standardabweichung eines 1-dimensionalen Numpy-Arrays berechnen.
1D-Array erstellen
Zuerst erstellen wir einfach unser 1D-Array:
array_1d = np.array()
Standardabweichung berechnen
Jetzt berechnen wir die Standardabweichung dieser Zahlen.
np.std(array_1d)
OUT:
30.84369195367723
Also, was ist hier passiert?
Der np.diese Funktion berechnete nur die Standardabweichung der Zahlen unter Verwendung von Gleichung 2, die wir zuvor gesehen haben. Jede Zahl ist eine der in dieser Gleichung.
Eine kurze Anmerkung
Im obigen Beispiel haben wir den Parameter a=
nicht explizit verwendet. Das liegt daran, np.std versteht, dass, wenn wir der Funktion ein Argument wie im Code np.std(array_1d)
, die Eingabe an den Parameter a
übergeben werden sollte.
Alternativ können Sie auch explizit den a=
Parameter verwenden:
np.std(a = array_1d)
OUT:
30.84369195367723
BEISPIEL 2: Berechnen Sie die Standardabweichung eines 2-dimensionalen Arrays
Ok. Betrachten wir nun ein Beispiel mit einem 2-dimensionalen Array.
2-dimensionales Array erstellen
Hier erstellen wir ein 2D-Array mit dem np.zufällig.randint Funktion.
np.random.seed(22)array_2d = np.random.randint(20, size =(3, 4))
Dieses Array hat 3 Zeilen und 4 Spalten.
Lassen Sie es uns ausdrucken, damit wir es sehen können.
print(array_2d)
OUT:
]
Dies ist nur ein 2D-Array, das 12 zufällige Ganzzahlen zwischen 0 und 20 enthält.
Standardabweichung mit np berechnen.std
Okay, lassen Sie uns die Standardabweichung berechnen.
np.std(array_2d)
AUS:
5.007633062524539
Hier, numpy.std() berechnet nur die Standardabweichung aller 12 ganzen Zahlen.
Die Standardabweichung ist 5.007633062524539
.
BEISPIEL 3: Berechnen Sie die Standardabweichung der Spalten
Jetzt werden wir die Standardabweichung der Spalten berechnen.
Dazu müssen wir den Parameter axis
verwenden. (Sie haben den Parameter axis
im Abschnitt über die Parameter von numpy kennengelernt.std)
Insbesondere müssen wir axis = 0
.
Warum?
Wie ich bereits in der Erklärung des Parameters axis
erwähnt habe, haben Numpy-Arrays Achsen.
In einem zweidimensionalen Array ist axis-0 die Achse, die nach unten zeigt.
Wenn wir numpy verwenden.std mit axis = 0
, das die Standardabweichungen nach unten in Richtung Achse-0 berechnet.
Schauen wir uns ein Beispiel an, damit Sie sehen, was ich meine.
2-dimensionales Array erstellen
Zuerst erstellen wir ein 2D-Array mit dem np.zufällig.randint Funktion.
(Dies ist das gleiche Array, das wir in Beispiel 2 erstellt haben, wenn Sie es also bereits erstellt haben, sollten Sie es nicht erneut erstellen müssen.)
np.random.seed(22)array_2d = np.random.randint(20, size =(3, 4))
Drucken wir es aus, damit wir es sehen können.
print(array_2d)
OUT:
]
Dies ist nur ein 2D-Array, das ganze Zahlen zwischen 0 und 20 enthält.
Verwenden Sie np.std um die Standardabweichung der Spalten zu berechnen
Jetzt setzen wir axis = 0
innerhalb von np .std, um die Standardabweichungen der Spalten zu berechnen.
np.std(array_2d, axis = 0)
OUT:
array()
Erklärung
Was ist hier los?
Wenn wir np verwenden.beginnend mit axis = 0
berechnet Numpy die Standardabweichung nach unten in Richtung Achse-0. Denken Sie daran, wie oben erwähnt, zeigt Achse-0 nach unten.
Dies hat den Effekt, dass die Standardabweichung jeder Spalte des Numpy-Arrays berechnet wird.
Nun machen wir ein ähnliches Beispiel mit den Zeilenstandardabweichungen.
BEISPIEL 4: Verwenden Sie np.std Um die Standardabweichungen der Zeilen
Zu berechnen, verwenden wir nun np .std, um die Standardabweichungen horizontal entlang eines 2D-Numpy-Arrays zu berechnen.
Denken Sie daran, was ich zuvor gesagt habe: numpy Arrays haben Achsen. Die Achsen sind wie Richtungen entlang des Numpy-Arrays. In einem 2D-Array zeigt Achse-1 horizontal wie folgt:
Wenn wir also die Standardabweichungen horizontal berechnen möchten, können wir axis = 1
. Dies hat den Effekt, dass die Zeilenstandardabweichungen berechnet werden.
Schauen wir mal.
2-dimensionales Array erstellen
Um dieses Beispiel auszuführen, benötigen wir wieder ein 2D-Numpy-Array, also erstellen wir ein 2D-Array mit dem np .zufällig.randint Funktion.
(Dies ist das gleiche Array, das wir in Beispiel 2 erstellt haben, wenn Sie es also bereits erstellt haben, sollten Sie es nicht erneut erstellen müssen.)
np.random.seed(22)array_2d = np.random.randint(20, size =(3, 4))
Drucken wir es aus, damit wir es sehen können.
print(array_2d)
OUT:
]
Dies ist nur ein 2D-Array, das ganze Zahlen zwischen 0 und 20 enthält.
Verwenden Sie np.std um die Standardabweichung der Zeilen zu berechnen
Jetzt verwenden wir np .std mit axis = 1
, um die Standardabweichungen der Zeilen zu berechnen.
np.std(array_2d, axis = 1)
AUS:
array()
Erklärung
Wenn Sie Beispiel 3 verstanden haben, sollte dieses neue Beispiel Sinn machen.
Wenn wir np verwenden.std und set axis = 1
berechnet Numpy die Standardabweichungen horizontal entlang der Achse-1.
Wenn wir die Numpy-Standardabweichung mit axis = 1
verwenden, berechnet die Funktion die Standardabweichung der Zeilen.
BEISPIEL 5: Ändern Sie die Freiheitsgrade
Lassen Sie uns nun die Freiheitsgrade ändern.
In diesem Beispiel erstellen wir ein großes Array von Zahlen, nehmen eine Stichprobe aus diesem Array und berechnen die Standardabweichung für diese Stichprobe.
Zuerst erstellen wir unsere Arrays.
Numpy-Array erstellen
Zuerst erstellen wir einfach ein normalverteiltes Numpy-Array mit einem Mittelwert von 0 und einer Standardabweichung von 10.
Dazu verwenden wir die Funktion Numpy random normal . Beachten Sie, dass wir die Numpy Random Seed-Funktion verwenden, um den Startwert für den Zufallszahlengenerator festzulegen. Weitere Informationen dazu finden Sie in unserem Tutorial über np.zufällig.Samen.
np.random.seed(22)population_array = np.random.normal(size = 100, loc = 0, scale = 10)
Ok. Jetzt haben wir ein Numpy Array, population_array
, das 100 Elemente hat, die einen Mittelwert von 0 und eine Standardabweichung von 10 haben.
Beispiel erstellen
Jetzt verwenden wir Numpy random choice , um eine Zufallsstichprobe aus dem Numpy-Array zu entnehmen, population_array
.
np.random.seed(22)sample_array = np.random.choice(population_array, size = 10)
Dieses neue Array, sample_array
, ist eine zufällige Stichprobe von 10 Elementen aus population_array
.
Wir verwenden sample_array
wenn wir unsere Standardabweichung mit dem Parameter ddof
berechnen.
Berechnen Sie die Standardabweichung der Probe
Jetzt berechnen wir die Standardabweichung der Probe.
Insbesondere werden wir die Numpy-Standardabweichungsfunktion mit dem Parameter ddof
verwenden, der auf ddof = 1
.
np.std(sample_array, ddof = 1)
OUT:
10.703405562234051
Erklärung
Hier haben wir berechnet:
Und wenn wir ddof = 1
setzen, ergibt die Gleichung:
Um klar zu sein, wenn Sie die Standardabweichung einer Stichprobe berechnen, setzen Sie ddof = 1
.
Um ehrlich zu sein, sind die Details darüber, warum ein wenig technisch (und über den Rahmen dieses Beitrags), so dass für weitere Informationen über die Berechnung einer Probe Standardabweichung, empfehle ich Ihnen, dieses Video zu sehen.
Beachten Sie, dass Sie für einige andere Instanzen ddof
auf andere Werte als 1 oder 0 setzen können. Wenn Sie den Parameter ddof
überhaupt nicht verwenden, wird er standardmäßig auf 0 gesetzt.
Unabhängig davon, welchen Wert Sie auswählen, berechnet die Numpy-Standardabweichungsfunktion die Standardabweichung mit der folgenden Gleichung:
BEISPIEL 6: Verwenden Sie den Parameter keepdims in np.std
Ok. Schließlich werden wir ein letztes Beispiel machen.
Hier setzen wir den Parameter keepdims
auf keepdims = True
.
2-dimensionales Array erstellen
Zuerst erstellen wir ein 2D-Array mit dem np.zufällig.randint Funktion.
(Dies ist das gleiche Array, das wir in Beispiel 2 erstellt haben, wenn Sie es also bereits erstellt haben, sollten Sie es nicht erneut erstellen müssen.)
np.random.seed(22)array_2d = np.random.randint(20, size =(3, 4))
Drucken wir es aus:
print(array_2d)
OUT:
]
Überprüfen Sie die Abmessungen
Schauen wir uns nun die Abmessungen dieses Arrays an.
array_2d.ndim
OUT:
2
Dies ist ein 2D-Array, genau wie wir es beabsichtigt haben.
Berechnen Sie die Standardabweichung und überprüfen Sie die Abmessungen
Ok. Jetzt berechnen wir die Standardabweichung und überprüfen die Abmessungen der Ausgabe.
output = np.std(array_2d)
Lassen Sie uns schnell die Ausgabe drucken:
print(output)
OUT:
5.007633062524539
Die Standardabweichung beträgt also 5,007633062524539.
Wie groß ist nun die Ausgabe?
output.ndim
AUS:
0
Die Ausgabe hat 0 Dimensionen (es ist ein skalarer Wert).
Warum?
Wenn np.std berechnet die Standardabweichung, es berechnet eine zusammenfassende Statistik. In diesem Fall nimmt die Funktion eine große Anzahl von Werten und reduziert sie auf eine einzige Metrik.
Die Eingabe war also 2-dimensional, die Ausgabe ist jedoch 0-dimensional.
Was ist, wenn wir das ändern wollen?
Was ist, wenn die Ausgabe technisch 2 Dimensionen haben soll?
Das können wir mit dem keepdims
Parameter machen.
Behalten Sie die ursprünglichen Abmessungen bei, wenn wir np verwenden.std
Hier setzen wir keepdims = True
, damit die Ausgabe die gleichen Abmessungen wie die Eingabe hat.
output_2d = np.std(array_2d, keepdims = True)
Schauen wir uns nun die Ausgabe an:
print(output_2d)
OUT:
]
Beachten Sie, dass die Ausgabe, die Standardabweichung, immer noch 5,00763306 beträgt. Das Ergebnis ist jedoch in doppelten Klammern eingeschlossen.
Schauen wir uns output_2d
genauer an.
type(output_2d)
OUT:
numpy.ndarray
Also, output_2d
ist ein Numpy Array, kein Skalarwert.
Lassen Sie uns die Dimensionen überprüfen:
output_2d.ndim
OUT:
2
Dieses Numpy Array, output_2d
, hat 2 Dimensionen.
Dies ist die gleiche Anzahl von Dimensionen wie die Eingabe.
Was ist passiert?
Wenn wir keepdims = True
, verursachte das den np .std-Funktion, um eine Ausgabe mit der gleichen Anzahl von Dimensionen wie die Eingabe zu erzeugen. Obwohl die Ausgabe keine Zeilen und Spalten enthält, hat die Ausgabe output_2d
2 Dimensionen.
Falls Sie also jemals benötigen, dass Ihre Ausgabe die gleiche Anzahl von Dimensionen wie Ihre Eingabe hat, können Sie keepdims = True
.
(Dies funktioniert auch, wenn Sie den axis
Parameter verwenden … probieren Sie es aus!)
Häufig gestellte Fragen zur Numpy-Standardabweichung
Nachdem Sie nun etwas über die Numpy-Standardabweichung gelernt und einige Beispiele gesehen haben, möchten wir einige häufig gestellte Fragen zu np .std.
Häufig gestellte Fragen:
- Warum liefert numpy std() ein anderes Ergebnis als matlab std() oder eine andere Programmiersprache?
Frage 1: Warum liefert numpy std() ein anderes Ergebnis als matlab std() oder eine andere Programmiersprache?
Der einfache Grund ist, dass matlab die Standard-dev wie folgt berechnet:
(Viele andere Tools verwenden dieselbe Gleichung.)
Numpy berechnet jedoch mit Folgendem:
Beachten Sie den feinen Unterschied zwischen der und der .
Um dies zu beheben, können Sie den Parameter ddof
in Numpy .
Wenn Sie np verwenden.wenn Sie also den Parameter ddof
auf ddof = 1
, sollten Sie die gleiche Antwort wie matlab erhalten.
Hinterlassen Sie Ihre anderen Fragen in den Kommentaren unten
Haben Sie weitere Fragen zur Numpy-Standardabweichungsfunktion?
Hinterlassen Sie Ihre Frage im Kommentarbereich unten.
Nehmen Sie an unserem Kurs teil, um mehr über Numpy zu erfahren
Die Beispiele, die Sie in diesem Tutorial gesehen haben, sollten ausreichen, um Ihnen den Einstieg zu erleichtern.
Es gibt noch viel mehr über Numpy zu lernen, und Numpy Mastery wird Ihnen alles beibringen, einschließlich:
- So erstellen Sie Numpy-Arrays
- So verwenden Sie die Numpy-Zufallsfunktionen
- Was macht die Funktion „Numpy random seed“
- So formen, teilen und kombinieren Sie Ihre Numpy-Arrays
- und mehr …
Darüber hinaus können Sie die Syntax innerhalb weniger Wochen vollständig beherrschen. Sie werden entdecken, wie Sie beim Schreiben von Numpy-Code „fließend“ werden.
Erfahren Sie hier mehr:
Erfahren Sie mehr über Numpy Mastery