# 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]])