Arithmetik#

Arrays ermöglichen euch, Stapeloperationen auf Daten durchzuführen ohne for-Schleifen verwenden zu müssen. Dies wird bei NumPy Vektorisierung genannt. Bei allen arithmetischen Operationen zwischen Arrays gleicher Größe wird die Operation elementweise angewendet:

[1]:
import numpy as np


data = np.random.randn(7, 3)
data
[1]:
array([[ 0.07282305, -0.5454217 ,  0.07199181],
       [ 2.16112354,  0.30496674,  0.73963605],
       [-1.61359344, -0.19812259, -0.76049151],
       [-0.86957267, -0.5841333 , -0.15678665],
       [-0.69817046,  1.86730036, -1.15614376],
       [ 0.85112655, -0.61805251, -0.63671618],
       [-1.78018583,  1.17915059, -0.6853148 ]])
[2]:
1 / data
[2]:
array([[13.73191506, -1.83344373, 13.89046966],
       [ 0.46272228,  3.27904615,  1.3520163 ],
       [-0.61973479, -5.04737999, -1.31493907],
       [-1.14999015, -1.71193802, -6.37809388],
       [-1.43231497,  0.53553248, -0.86494434],
       [ 1.17491341, -1.61798549, -1.57055848],
       [-0.56173911,  0.8480681 , -1.45918342]])
[3]:
data**2
[3]:
array([[0.0053032 , 0.29748483, 0.00518282],
       [4.67045494, 0.09300471, 0.54706149],
       [2.6036838 , 0.03925256, 0.57834734],
       [0.75615662, 0.34121171, 0.02458205],
       [0.48744199, 3.48681063, 1.33666839],
       [0.7244164 , 0.38198891, 0.4054075 ],
       [3.16906158, 1.39039611, 0.46965638]])

Vergleich zweier Arrays:

[4]:
data2 = np.random.randn(7, 3)
data > data2
[4]:
array([[ True,  True,  True],
       [ True,  True,  True],
       [False, False, False],
       [False, False, False],
       [False,  True, False],
       [ True, False, False],
       [False, False,  True]])