Einführung in NumPy#

NumPy-Operationen führen komplexe Berechnungen auf ganzen Arrays durch, ohne dass Python for-Schleifen erforderlich sind, die bei großen Sequenzen langsam sein können. Die Schnelligkeit von NumPy erklärt sich aus den C-basierten Algorithmen, die den Overhead des Python-Codes vermeidet. Um euch einen Eindruck zu vermitteln vom Performance-Unterschied, messen wir den Unterschied zwischen einem NumPy-Array un einer Python-Liste mit hunderttausend Ganzzahlen:

[1]:
import numpy as np
[2]:
myarray = np.arange(100000)
mylist = list(range(100000))
[3]:
%time for _ in range(10): myarray2 = myarray ** 2
CPU times: user 0 ns, sys: 2.55 ms, total: 2.55 ms
Wall time: 2.28 ms
[4]:
%time for _ in range(10): mylist2 = [x ** 2 for x in mylist]
CPU times: user 390 ms, sys: 25.5 ms, total: 416 ms
Wall time: 423 ms