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.53395033, -0.90655262, -1.47419874],
       [-0.60691335,  0.12786859,  0.83478769],
       [-0.24791073,  0.61712855, -1.36487227],
       [-0.04708711, -1.45600876, -0.88333238],
       [-0.60393798, -0.12695018,  1.17832759],
       [-0.83320447, -0.30302264,  0.53249707],
       [ 0.85006387,  0.83626062, -1.03637456]])
[2]:
1 / data
[2]:
array([[ -1.87283338,  -1.10307993,  -0.67833459],
       [ -1.64768166,   7.82052869,   1.19790937],
       [ -4.03370998,   1.62040794,  -0.73266929],
       [-21.23723314,  -0.68680906,  -1.13207669],
       [ -1.65579916,  -7.87710608,   0.84866043],
       [ -1.2001856 ,  -3.30008343,   1.87794462],
       [  1.17638219,   1.19579946,  -0.96490211]])
[3]:
data ** 2
[3]:
array([[0.28510296, 0.82183765, 2.17326192],
       [0.36834382, 0.01635038, 0.69687049],
       [0.06145973, 0.38084765, 1.8628763 ],
       [0.0022172 , 2.1199615 , 0.7802761 ],
       [0.36474108, 0.01611635, 1.3884559 ],
       [0.69422968, 0.09182272, 0.28355312],
       [0.72260859, 0.69933183, 1.07407224]])

Vergleich zweier Arrays:

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