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
rng = np.random.default_rng()
data = rng.random((7, 3))
data
[1]:
array([[0.3377999 , 0.37343236, 0.61613397],
[0.71191857, 0.35041942, 0.64726029],
[0.06018761, 0.83997689, 0.31628701],
[0.14621145, 0.26867346, 0.07336511],
[0.22718287, 0.77538148, 0.40654442],
[0.44235763, 0.34000371, 0.53182733],
[0.98246577, 0.08442906, 0.33648811]])
[2]:
1 / data
[2]:
array([[ 2.96033241, 2.6778611 , 1.62302363],
[ 1.40465503, 2.8537231 , 1.5449735 ],
[16.6147153 , 1.19050894, 3.1616853 ],
[ 6.8394097 , 3.7219903 , 13.63045757],
[ 4.40174025, 1.28968776, 2.45975579],
[ 2.26061434, 2.94114442, 1.88030952],
[ 1.01784717, 11.84426242, 2.97187318]])
[3]:
data**2
[3]:
array([[0.11410877, 0.13945173, 0.37962107],
[0.50682805, 0.12279377, 0.41894589],
[0.00362255, 0.70556118, 0.10003747],
[0.02137779, 0.07218543, 0.00538244],
[0.05161206, 0.60121644, 0.16527837],
[0.19568027, 0.11560252, 0.28284031],
[0.96523899, 0.00712827, 0.11322425]])
Vergleich zweier Arrays:
[4]:
data2 = rng.random((7, 3))
data > data2
[4]:
array([[ True, False, True],
[ True, False, True],
[False, True, False],
[False, False, False],
[ True, True, False],
[ True, False, True],
[ True, False, False]])