Premiers exemples numpy¶

Calculs sur un tableau : python, array numpy, array numpy et vectorisation¶

In [14]:
import numpy as np

L = list(range(15))
a = np.array(L)

# python classique avec compréhension
res=[x**2 for x in L] 
res
Out[14]:
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81, 100, 121, 144, 169, 196]
In [10]:
# python avec un array numpy
[x**2 for x in a]
Out[10]:
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81, 100, 121, 144, 169, 196]
In [11]:
# "vectorisation" de l'array numpy (opérateur **)
res=a**2   
res
Out[11]:
array([  0,   1,   4,   9,  16,  25,  36,  49,  64,  81, 100, 121, 144,
       169, 196])

Affichage des temps de calcul avec %timeit¶

In [16]:
import numpy as np

L = list(range(1000))
a = np.array(L)

# python classique avec compréhension
%timeit [x**2 for x in L]    # 300 micro-sec

# python avec un array numpy
%timeit [x**2 for x in a]    # un peu plus rapide : 200

# "vectorisation" de l'array numpy (opérateur **)
%timeit a**2                 # beaucoup plus rapide : 1,5
30.9 ms ± 3.11 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)
22.2 ms ± 298 µs per loop (mean ± std. dev. of 7 runs, 10 loops each)
52.3 µs ± 484 ns per loop (mean ± std. dev. of 7 runs, 10,000 loops each)
In [ ]: