NumPy-Statistikfunktionen

NumPy bietet viele statistische Funktionen zum Ermitteln des minimalen Elements, des maximalen Elements, des Perzentils, der Standardabweichung und der Varianz aus einem Array.

numpy.amin() und numpy.amax()

numpy.amin() wird verwendet, um den Minimalwert von Elementen in einem Array entlang einer angegebenen Achse zu berechnen.

numpy.amin(a, axis=None, out=None, keepdims=<no value>, initial=<no value>, where=<no value>)

Parameter description:

  • a: Das Eingabe-Array, das ein NumPy-Array oder ein array-ähnliches Objekt sein kann.
  • axis: Optionaler Parameter, der angibt, auf welcher Achse das Minimum berechnet werden soll. Wenn nicht angegeben, wird das Minimum des gesamten Arrays zurückgegeben. Er kann eine Ganzzahl sein, die den Achsenindex darstellt, oder ein Tupel, das mehrere Achsen darstellt.
  • out: Optionaler Parameter, der den Speicherort für das Ergebnis angibt.
  • keepdims: Optionaler Parameter. Wenn True, bleibt die Anzahl der Dimensionen des Ergebnisarrays dieselbe wie die des Eingabearrays. Wenn False (Standard), werden Achsen mit Dimension 1 nach der Berechnung entfernt.
  • initial: Optionaler Parameter, mit dem ein Anfangswert angegeben wird; anschließend wird das Minimum über die Elemente des Arrays berechnet.
  • where: Optionaler Parameter, ein boolesches Array, das angibt, dass nur Elemente berücksichtigt werden, welche die Bedingung erfüllen.

numpy.amax() wird verwendet, um den Maximalwert der Elemente in einem Array entlang einer angegebenen Achse zu berechnen.

numpy.amax(a, axis=None, out=None, keepdims=<no value>, initial=<no value>, where=<no value>)

Parameter description:

  • a: Das Eingabe-Array, das ein NumPy-Array oder ein array-ähnliches Objekt sein kann.
  • axis: Optionaler Parameter, mit dem angegeben wird, auf welcher Achse das Maximum berechnet werden soll. Wenn er nicht angegeben wird, wird das Maximum des gesamten Arrays zurückgegeben. Er kann eine Ganzzahl sein, die den Achsenindex darstellt, oder ein Tupel, das mehrere Achsen darstellt.
  • out: Optionaler Parameter, der den Speicherort für das Ergebnis angibt.
  • keepdims: Optionaler Parameter. Wenn True, bleibt die Anzahl der Dimensionen des Ergebnisarrays dieselbe wie die des Eingabearrays. Wenn False (Standard), werden Achsen mit Dimension 1 nach der Berechnung entfernt.
  • initial: Optionaler Parameter, mit dem ein Anfangswert angegeben wird; anschließend wird das Maximum über die Elemente des Arrays berechnet.
  • where: Optionaler Parameter, ein boolesches Array, das angibt, dass nur Elemente berücksichtigt werden, welche die Bedingung erfüllen.

Beispiel

import numpy as np a = np.array([[3,7,5],[8,4,3],[2,4,9]]) print ('Unser Array ist:') print (a) print ('\n') print ('Aufruf der amin()-Funktion:') print (np.amin(a,1)) print ('\n') print ('Erneuter Aufruf der amin()-Funktion:') print (np.amin(a,0)) print ('\n') print ('Aufruf der amax()-Funktion:') print (np.amax(a)) print ('\n') print ('Erneuter Aufruf der amax()-Funktion:') print (np.amax(a, axis = 0))

Das Ausgabeergebnis ist:

我们的数组是:
[[3 7 5]
 [8 4 3]
 [2 4 9]]


调用 amin() 函数:
[3 3 2]


再次调用 amin() 函数:
[2 4 3]


调用 amax() 函数:
9


再次调用 amax() 函数:
[8 7 9]

numpy.ptp()

numpy.ptp()Die Funktion berechnet die Differenz zwischen dem maximalen und dem minimalen Wert der Elemente im Array (Maximum - Minimum).

numpy.ptp(a, axis=None, out=None, keepdims=<no value>, initial=<no value>, where=<no value>)

Parameter description:

  • a: Das Eingabe-Array, das ein NumPy-Array oder ein array-ähnliches Objekt sein kann.
  • axis: Optionaler Parameter, der angibt, auf welcher Achse der Peak-to-Peak-Wert berechnet werden soll. Wenn nicht angegeben, wird der Peak-to-Peak-Wert des gesamten Arrays zurückgegeben. Er kann eine Ganzzahl sein, die den Achsenindex angibt, oder ein Tupel, das mehrere Achsen repräsentiert.
  • out: Optionaler Parameter, der den Speicherort für das Ergebnis angibt.
  • keepdims: Optionaler Parameter. Wenn True, bleibt die Anzahl der Dimensionen des Ergebnisarrays dieselbe wie die des Eingabearrays. Wenn False (Standard), werden Achsen mit Dimension 1 nach der Berechnung entfernt.
  • initial: Optionaler Parameter, der einen Anfangswert angibt; anschließend wird der Peak-to-Peak-Wert über die Elemente des Arrays berechnet.
  • where: Optionaler Parameter, ein boolesches Array, das angibt, dass nur Elemente berücksichtigt werden, welche die Bedingung erfüllen.

Beispiel

import numpy as np a = np.array([[3,7,5],[8,4,3],[2,4,9]]) print ('Unser Array ist:') print (a) print ('\n') print ('Aufruf der ptp()-Funktion:') print (np.ptp(a)) print ('\n') print ('Aufruf der ptp()-Funktion entlang Achse 1:') print (np.ptp(a, axis = 1)) print ('\n') print ('Aufruf der ptp()-Funktion entlang Achse 0:') print (np.ptp(a, axis = 0))

Das Ausgabeergebnis ist:

我们的数组是:
[[3 7 5]
 [8 4 3]
 [2 4 9]]


调用 ptp() 函数:
7


沿轴 1 调用 ptp() 函数:
[4 5 7]


沿轴 0 调用 ptp() 函数:
[6 3 6]

numpy.percentile()

Ein Perzentil ist ein in der Statistik verwendetes Maß, das den Prozentsatz der Beobachtungen angibt, die kleiner als dieser Wert sind. Die Funktion numpy.percentile() akzeptiert die folgenden Parameter.

numpy.percentile(a, q, axis)

Parameter description:

  • a: Eingabearray
  • q: Das zu berechnende Perzentil, zwischen 0 und 100
  • axis: Die Achse, entlang der das Perzentil berechnet wird

Zuerst werden Perzentile erläutert:

Das p-te Perzentil ist ein Wert, sodass mindestens p% der Datenpunkte kleiner oder gleich diesem Wert sind und mindestens (100-p)% der Datenpunkte größer oder gleich diesem Wert sind.

Zum Beispiel: Punktzahlen bei Hochschulaufnahmeprüfungen werden oft in Perzentilform angegeben. Angenommen, die Rohpunktzahl eines Kandidaten im chinesischen Sprachteil der Aufnahmeprüfung beträgt 54 Punkte. Es ist nicht einfach zu wissen, wie er im Vergleich zu anderen Schülern abgeschnitten hat, die dieselbe Prüfung abgelegt haben. Wenn aber die Rohpunktzahl von 54 Punkten genau dem 70. Perzentil entspricht, können wir wissen, dass etwa 70% der Schüler niedriger als er abgeschnitten haben und etwa 30% höher.

Hier ist p = 70.

Beispiel

import numpy as np a = np.array([[10, 7, 4], [3, 2, 1]]) print ('Unser Array ist:') print (a) print ('Aufruf der Funktion percentile():') # Das 50%-Perzentil ist der Median von a nach dem Sortieren print (np.percentile(a, 50)) # axis ist 0, entlang der Spalten berechnen print (np.percentile(a, 50, axis=0)) # axis ist 1, entlang der Zeilen berechnen print (np.percentile(a, 50, axis=1)) # Die Dimension unverändert lassen print (np.percentile(a, 50, axis=1, keepdims=True))

Das Ausgabeergebnis ist:

我们的数组是:
[[10  7  4]
 [ 3  2  1]]
调用 percentile() 函数:
3.5
[6.5 4.5 2.5]
[7. 2.]
[[7.]
 [2.]]

numpy.median()

Die Funktion numpy.median() wird verwendet, um den Median (mittleren Wert) der Elemente in Array a zu berechnen.

numpy.median(a, axis=None, out=None, overwrite_input=False, keepdims=<no value>)

Parameter description:

  • a: Das Eingabe-Array, das ein NumPy-Array oder ein array-ähnliches Objekt sein kann.
  • axis: Optionaler Parameter, der angibt, entlang welcher Achse der Median berechnet wird. Wenn nicht angegeben, wird der Median des gesamten Arrays berechnet. Er kann eine Ganzzahl sein, die den Achsenindex darstellt, oder ein Tupel, das mehrere Achsen darstellt.
  • out: Optionaler Parameter, der den Speicherort für das Ergebnis angibt.
  • overwrite_input: Optionaler Parameter. Wenn True, darf der Speicher des Eingabe-Arrays während der Berechnung verwendet werden. Dies kann in einigen Fällen die Leistung verbessern, aber den Inhalt des Eingabe-Arrays verändern.
  • keepdims: Optionaler Parameter. Wenn True, bleibt die Anzahl der Dimensionen des Ergebnisarrays dieselbe wie die des Eingabearrays. Wenn False (Standard), werden Achsen mit Dimension 1 nach der Berechnung entfernt.

Beispiel

import numpy as np a = np.array([[30,65,70],[80,95,10],[50,90,60]]) print ('Unser Array ist:') print (a) print ('\n') print ('Aufruf der Funktion median():') print (np.median(a)) print ('\n') print ('Aufruf der Funktion median() entlang Achse 0:') print (np.median(a, axis = 0)) print ('\n') print ('Aufruf der Funktion median() entlang Achse 1:') print (np.median(a, axis = 1))

Das Ausgabeergebnis ist:

我们的数组是:
[[30 65 70]
 [80 95 10]
 [50 90 60]]


调用 median() 函数:
65.0


沿轴 0 调用 median() 函数:
[50. 90. 60.]


沿轴 1 调用 median() 函数:
[65. 80. 60.]

numpy.mean()

Die Funktion numpy.mean() gibt das arithmetische Mittel der Elemente in einem Array zurück. Wenn eine Achse angegeben wird, wird das Mittel entlang dieser Achse berechnet.

Das arithmetische Mittel ist die Summe der Elemente entlang einer Achse geteilt durch die Anzahl der Elemente.

numpy.mean(a, axis=None, dtype=None, out=None, keepdims=<no value>)

Parameter description:

  • a: Das Eingabe-Array, das ein NumPy-Array oder ein array-ähnliches Objekt sein kann.
  • axis: Optionaler Parameter, der angibt, entlang welcher Achse das Mittel berechnet werden soll. Wenn er nicht angegeben wird, wird das Mittel des gesamten Arrays berechnet. Er kann eine Ganzzahl sein, die den Achsenindex darstellt, oder ein Tupel, das mehrere Achsen darstellt.
  • dtype: Optionaler Parameter, der den Datentyp der Ausgabe angibt. Wenn er nicht angegeben wird, wird ein geeigneter Datentyp basierend auf dem Typ der Eingabedaten ausgewählt.
  • out: Optionaler Parameter, der den Speicherort für das Ergebnis angibt.
  • keepdims: Optionaler Parameter. Wenn True, bleibt die Anzahl der Dimensionen des Ergebnisarrays dieselbe wie die des Eingabearrays. Wenn False (Standard), werden Achsen mit Dimension 1 nach der Berechnung entfernt.

Beispiel

import numpy as np a = np.array([[1,2,3],[3,4,5],[4,5,6]]) print ('Unser Array ist:') print (a) print ('\n') print ('Aufruf der Funktion mean():') print (np.mean(a)) print ('\n') print ('Aufruf der Funktion mean() entlang der Achse 0:') print (np.mean(a, axis = 0)) print ('\n') print ('Aufruf der Funktion mean() entlang der Achse 1:') print (np.mean(a, axis = 1))

Das Ausgabeergebnis ist:

我们的数组是:
[[1 2 3]
 [3 4 5]
 [4 5 6]]


调用 mean() 函数:
3.6666666666666665


沿轴 0 调用 mean() 函数:
[2.66666667 3.66666667 4.66666667]


沿轴 1 调用 mean() 函数:
[2. 4. 5.]

numpy.average()

Die Funktion numpy.average() berechnet den gewichteten Durchschnitt der Elemente in einem Array basierend auf ihren jeweiligen Gewichten, die in einem anderen Array angegeben sind.

Diese Funktion kann einen axis-Parameter akzeptieren. Wenn kein axis angegeben ist, wird das Array abgeflacht.

Der gewichtete Durchschnitt wird berechnet, indem jeder Wert mit seinem entsprechenden Gewicht multipliziert, die Produkte summiert werden, um den Gesamtwert zu erhalten, und dann durch die Anzahl der Einheiten geteilt wird.

Betrachten Sie das Array [1,2,3,4] und die entsprechenden Gewichte [4,3,2,1]. Der gewichtete Durchschnitt wird berechnet, indem die Produkte der entsprechenden Elemente addiert und die Summe durch die Summe der Gewichte geteilt wird.

加权平均值 = (1*4+2*3+3*2+4*1)/(4+3+2+1)

Funktionssyntax:

numpy.average(a, axis=None, weights=None, returned=False)

Parameter description:

  • a: Das Eingabe-Array, das ein NumPy-Array oder ein array-ähnliches Objekt sein kann.
  • axis: Optionaler Parameter, mit dem angegeben wird, auf welcher Achse der gewichtete Durchschnitt berechnet werden soll. Wenn er nicht angegeben wird, wird der gewichtete Durchschnitt des gesamten Arrays berechnet. Er kann eine ganze Zahl sein, die den Achsenindex darstellt, oder ein Tupel, das mehrere Achsen darstellt.
  • weights: Optionaler Parameter, mit dem die Gewichte für die entsprechenden Datenpunkte angegeben werden. Wenn kein Gewichtsarray angegeben wird, werden standardmäßig gleiche Gewichte angenommen.
  • returned: Optionaler Parameter. Wenn True, werden sowohl der gewichtete Durchschnitt als auch die Summe der Gewichte zurückgegeben.

Beispiel

import numpy as np a = np.array([1,2,3,4]) print ('Unser Array ist:') print (a) print ('\n') print ('Aufruf der Funktion average():') print (np.average(a)) print ('\n') # Wenn keine Gewichte angegeben sind, entspricht dies der mean-Funktion wts = np.array([4,3,2,1]) print ('Rufen Sie die Funktion average() erneut auf:') print (np.average(a,weights = wts)) print ('\n') # Wenn der Parameter returned auf true gesetzt ist, wird die Summe der Gewichte zurückgegeben print ('Summe der Gewichte:') print (np.average([1,2,3, 4],weights = [4,3,2,1], returned = True))

Das Ausgabeergebnis ist:

我们的数组是:
[1 2 3 4]


调用 average() 函数:
2.5


再次调用 average() 函数:
2.0


权重的和:
(2.0, 10.0)

In mehrdimensionalen Arrays können Sie die für die Berechnung verwendete Achse angeben.

Beispiel

import numpy as np a = np.arange(6).reshape(3,2) print ('Unser Array ist:') print (a) print ('\n') print ('Das modifizierte Array ist:') wt = np.array([3,5]) print (np.average(a, axis = 1, weights = wt)) print ('\n') print ('Das modifizierte Array ist:') print (np.average(a, axis = 1, weights = wt, returned = True))

Das Ausgabeergebnis ist:

我们的数组是:
[[0 1]
 [2 3]
 [4 5]]


修改后的数组:
[0.625 2.625 4.625]


修改后的数组:
(array([0.625, 2.625, 4.625]), array([8., 8., 8.]))

Standardabweichung

Die Standardabweichung ist ein Maß für die Streuung einer Menge von Datenwerten um ihren Mittelwert.

Die Standardabweichung ist die Quadratwurzel der Varianz.

Die Formel für die Standardabweichung lautet wie folgt:

std = sqrt(mean((x - x.mean())**2))

Wenn das Array [1, 2, 3, 4] ist, dann ist sein Mittelwert 2.5. Daher sind die quadrierten Differenzen [2.25, 0.25, 0.25, 2.25], und dann nimmt man die Quadratwurzel des Mittelwerts der quadrierten Differenzen, d. h. sqrt(5/4), das Ergebnis ist 1.1180339887498949.

Beispiel

import numpy as np print (np.std([1,2,3,4]))

Das Ausgabeergebnis ist:

1.1180339887498949

Varianz

In der Statistik ist die Varianz (Stichprobenvarianz) der Mittelwert der quadrierten Differenzen zwischen jedem Stichprobenwert und dem Mittelwert aller Stichprobenwerte, d. h. mean((x - x.mean())** 2).

Mit anderen Worten, die Standardabweichung ist die Quadratwurzel der Varianz.

Beispiel

import numpy as np print (np.var([1,2,3,4]))

Das Ausgabeergebnis ist:

1.25
Weitere Erweiterungen