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.76703659, -0.83933196,  0.4645299 ],
       [-1.78256805,  0.1250087 ,  1.34358408],
       [-0.69649245,  0.38336052,  0.68022167],
       [-0.14760562, -1.481958  , -0.4465985 ],
       [ 0.26499335,  1.21256197,  0.5816795 ],
       [-0.04407397,  0.87961945, -0.58604436],
       [-1.15613167, -0.16129107,  0.53232522]])
[2]:
data.mean()
[2]:
-0.00510355699323813
[3]:
np.mean(data)
[3]:
-0.00510355699323813
[4]:
data.sum()
[4]:
-0.10717469685800074

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.39926312,  0.0168528 ,  0.36709964])
[6]:
data.sum(axis=0)
[6]:
array([-2.79484182,  0.11796961,  2.56969751])

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.76703659, -0.07229536,  0.39223454, -1.3903335 , -1.2653248 ,
        0.07825928, -0.61823317, -0.23487265,  0.44534901,  0.2977434 ,
       -1.1842146 , -1.6308131 , -1.36581975, -0.15325778,  0.42842172,
        0.38434775,  1.26396719,  0.67792283, -0.47820884, -0.63949992,
       -0.1071747 ])
[8]:
data.cumprod()
[8]:
array([ 7.67036595e-01, -6.43798325e-01, -2.99063574e-01,  5.33101170e-01,
        6.66422856e-02,  8.95395139e-02, -6.23635955e-02, -2.39077405e-02,
       -1.62625630e-02,  2.40044565e-03, -3.55735963e-03,  1.58871146e-03,
        4.20997972e-04,  5.10486129e-04,  2.96939317e-04, -1.30872955e-05,
       -1.15118396e-05,  6.74644874e-06, -7.79978307e-06,  1.25803538e-06,
        6.69683962e-07])

Grundlegende statistische Methoden für Arrays:

Methode

Beschreibung

sum

Summe aller Elemente im Array oder entlang einer Achse

mean

Arithmetisches Mittel; bei Arrays mit der Länge Null wirdNaN zurückgegeben

std, var

Standardabweichung bzw. Varianz

min, max

Minimum und Maximum

argmin, argmax

Indizes der minimalen bzw. maximalen Elemente

cumsum

Kumulative Summe der Elemente, beginnend mit 0

cumprod

Kumulatives Produkt der Elemente, beginnend mit 1