4ème série d'exemples numpy : broadcasting¶

premiers essais¶

In [2]:
5*[1, 2, 3]
Out[2]:
[1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3]
In [5]:
try:
   [2, 4, 6] * [1, 2, 3]
except:
    print('erreur')
erreur
In [3]:
import numpy as np
5*np.array([1, 2, 3])
Out[3]:
array([ 5, 10, 15])
In [9]:
import numpy as np
np.array([2])*np.array([1, 2, 3])
Out[9]:
array([2, 4, 6])
In [6]:
import numpy as np
np.array([2, 4, 6])*np.array([1, 2, 3])
Out[6]:
array([ 2,  8, 18])
In [8]:
import numpy as np
try:
    np.array([2, 4])*np.array([1, 2, 3])
except:
    print('erreur')
erreur

plus subtile¶

In [17]:
import numpy as np
a=np.array([10, 20, 30 ])
b=np.array([  [1, 1, 1],   [2, 2, 2],   [3, 3, 3]  ])
In [18]:
a
Out[18]:
array([10, 20, 30])
In [19]:
b
Out[19]:
array([[1, 1, 1],
       [2, 2, 2],
       [3, 3, 3]])
In [20]:
a*b
Out[20]:
array([[10, 20, 30],
       [20, 40, 60],
       [30, 60, 90]])

suite¶

In [22]:
import numpy as np
a=np.array([10, 20, 30 ]).reshape(3,1)
b=np.array([  [1, 1, 1],   [2, 2, 2],   [3, 3, 3]  ])
In [23]:
a
Out[23]:
array([[10],
       [20],
       [30]])
In [24]:
b
Out[24]:
array([[1, 1, 1],
       [2, 2, 2],
       [3, 3, 3]])
In [25]:
a*b
Out[25]:
array([[10, 10, 10],
       [40, 40, 40],
       [90, 90, 90]])

suite¶

In [26]:
a=np.array([1, 2, 3 ]).reshape(3,1)
b=np.array([4, 5 ]). reshape(1,2)
In [27]:
a
Out[27]:
array([[1],
       [2],
       [3]])
In [28]:
b
Out[28]:
array([[4, 5]])
In [29]:
a*b
Out[29]:
array([[ 4,  5],
       [ 8, 10],
       [12, 15]])