Mathematische und statistische Methoden#
Eine Reihe von mathematischen Funktionen, die Statistiken über ein ganzes Array oder über die Daten entlang einer Achse berechnen, sind als Methoden der Array-Klasse zugänglich. So könnt ihr Aggregationen verwenden wie Summe, Mittelwert und Standardabweichung, indem ihr entweder die Array-Instanzmethode aufruft oder die NumPy-Funktion der obersten Ebene verwendet.
Im folgenden generiere ich einige normalverteilte Zufallsdaten und berechne einige aggregierte Statistiken:
[1]:
import numpy as np
data = np.random.randn(7, 3)
data
[1]:
array([[ 0.1636264 , -0.07479277, -0.20255074],
[-0.74231862, 1.09947779, 0.78135583],
[ 0.63855308, 0.32602387, 0.61464571],
[ 0.23415688, -0.91457139, -0.31875483],
[-0.02505313, 1.25184632, 1.4875972 ],
[-0.20283564, 3.13198588, 1.74734662],
[ 0.93549941, -1.0149449 , -0.44490236]])
[2]:
data.mean()
[2]:
0.40339955359802476
[3]:
np.mean(data)
[3]:
0.40339955359802476
[4]:
data.sum()
[4]:
8.47139062555852
Funktionen wie mean
und sum
benötigen ein optionales Achsenargument, das die Statistik über die angegebene Achse berechnet, was zu einem Array mit einer Dimension weniger führt:
[5]:
data.mean(axis=0)
[5]:
array([0.14308977, 0.54357497, 0.52353392])
[6]:
data.sum(axis=0)
[6]:
array([1.00162838, 3.8050248 , 3.66473745])
Mit data.mean(0)
, was dasselbe ist wie data.mean(axis=0)
, wird der Mittelwert über die Zeilen berechnet, während data.sum(0)
die Summe über die Zeilen berechnet.
Andere Methoden wie cumsum
und cumprod
aggregieren hingegen nicht, sondern erzeugen ein neues Array mit den Zwischenergebnissen.
In mehrdimensionalen Arrays geben Akkumulationsfunktionen wie cumsum
und cumprodm
ein Array derselben Größe zurück, aber mit den entlang der angegebenen Achse berechneten Teilaggregaten:
[7]:
data.cumsum()
[7]:
array([ 0.1636264 , 0.08883362, -0.11371711, -0.85603574, 0.24344206,
1.02479789, 1.66335097, 1.98937484, 2.60402055, 2.83817743,
1.92360604, 1.60485122, 1.57979809, 2.83164441, 4.31924161,
4.11640597, 7.24839184, 8.99573847, 9.93123788, 8.91629298,
8.47139063])
[8]:
data.cumprod()
[8]:
array([ 1.63626397e-01, -1.22380721e-02, 2.47883053e-03, -1.84008206e-03,
-2.02312937e-03, -1.58078392e-03, -1.00941444e-03, -3.29093203e-04,
-2.02275727e-04, -4.73642533e-05, 4.33179909e-05, -1.38078186e-05,
3.45929093e-07, 4.33050061e-07, 6.44204058e-07, -1.30667543e-07,
-4.09248898e-07, -7.15099681e-07, -6.68975332e-07, 6.78973099e-07,
-3.02076731e-07])
Grundlegende statistische Methoden für Arrays:
Methode |
Beschreibung |
---|---|
|
Summe aller Elemente im Array oder entlang einer Achse |
|
Arithmetisches Mittel; bei Arrays mit der Länge Null wird |
|
Standardabweichung bzw. Varianz |
|
Minimum und Maximum |
|
Indizes der minimalen bzw. maximalen Elemente |
|
Kumulative Summe der Elemente, beginnend mit |
|
Kumulatives Produkt der Elemente, beginnend mit |