Articles

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

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:

Ein Beispiel für ein 2-dimensionales NumPy-Array mit den Zahlen 0 bis 7.

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 N Zahlen haben, ist die Varianz:

\begin{Gleichung*} \frac{1}{N} \displaystyle\sum_{i=1}^N (x_i - \overline{x})^2 \end{Gleichung*}

Und die Standardabweichung ist nur die Quadratwurzel der Varianz:

\begin{Gleichung*} \sqrt{\frac{1}{N} \displaystyle\sum_{i=1}^N (x_i - \overline{x})^2} \end{Gleichung*}

Wobei:

x_i = die einzelnen Werte im Datensatz
N = die Anzahl der Werte im Datensatz
\overline{x} = der Mittelwert der Werte x_i

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:

Ein Bild, das die Syntax der Numpy-Standardabweichung erklärt.

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:

Ein visuelles Beispiel für NumPy Array-Achsen.

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 \frac{1}{N}.

Denken Sie daran: N 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 \frac{1}{N} in unserer Gleichung.

Wenn wir jedoch die Standardabweichung für eine Stichprobe von Daten berechnen (eine Stichprobe von n Datenpunkten), müssen wir die Gleichung so ändern, dass der führende Term \frac{1}{n - 1} . In diesem Fall wird die Gleichung für eine Probe Standardabweichung:

\begin{Gleichung*} s_{sample} = \sqrt{\frac{1}{n - 1} \displaystyle\sum_{i=1}^N (x_i - \overline{x})^2} \end{Gleichung*}

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:

\begin{equation*} \sqrt{\frac{1}{n - ddof} \displaystyle\sum_{i=1}^N (x_i - \overline{x}) ^2} \end{equation*}

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 x_i 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.

Ein NumPy-Array, das zeigt, dass axis = 0 die Achse in den Zeilen des Arrays ist.

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.

Ein Bild, das zeigt, wie die Numpy-Standardabweichung mit axis = 0 verwendet wird, um die Spaltenstandardabweichungen zu berechnen.

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:

Ein Bild, das zeigt, wie Achse-1 horizontal entlang eines 2D-Numpy-Arrays zeigt.

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.

Ein Bild, das mit np zeigt.std mit axis = 1, um die Zeilenstandardabweichungen zu berechnen.

Wenn wir die Numpy-Standardabweichung mit axis = 1verwenden, 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 = 1setzen, 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 \frac{1}{n - 1} und der \frac{1}{N}.

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