Multiplicação Element-Wise no NumPy
-
Multiplicação elementar de arrays em Python usando o método
np.multiply()
-
Multiplicação Element-Wise de Matrices em Python Usando o Operador
*
Este tutorial explicará vários métodos para realizar a multiplicação de arrays por elemento em Python. Na multiplicação de array por elemento (também conhecida como Produto de Hadamard), cada elemento da primeira matriz é multiplicado pelo elemento correspondente da segundo array.
Ao realizar a multiplicação do array por elemento, ambas as arrays devem ter as mesmas dimensões. A matriz resultante c
da multiplicação de array elemento a elemento a*b = c
tem sempre a mesma dimensão que em a
e b
.
Podemos realizar a multiplicação por elemento em Python usando os seguintes métodos:
Multiplicação elementar de arrays em Python usando o método np.multiply()
O método np.multiply(x1, x2)
da biblioteca NumPy
do Python recebe duas arrays x1
e x2
como entrada, realiza a multiplicação elemento a elemento na entrada e retorna a matriz resultante como entrada.
Portanto, precisamos passar as duas arrays como entrada para o método np.multiply()
para realizar a entrada elemento a elemento. O código de exemplo a seguir demonstra como usar np.multiply()
para realizar a multiplicação elemento a elemento de duas arrays em Python.
import numpy as np
a1 = np.array([[12, 46, 23, 7, 2], [3, 5, 8, 3, 6]])
a2 = np.array([[15, 26, 2, 17, 22], [13, 8, 9, 3, 4]])
print(np.multiply(a1, a2))
Resultado:
[[ 180 1196 46 119 44]
[ 39 40 72 9 24]]
Também podemos realizar a multiplicação elemento a elemento de linhas, colunas ou subarrays específicas das arrays usando o método np.multiply()
. Precisamos passar as linhas, colunas ou subarrays específicas das arrays para o método np.multiply()
. Como na multiplicação de array por elemento, o tamanho das linhas, colunas ou subarrays passadas como primeiro e segundo operando para multiplicação também deve ser o mesmo.
O código de exemplo abaixo demonstra como implementar a multiplicação de linhas, colunas ou subarrays de duas arrays em Python.
import numpy as np
a1 = np.array([[12, 46, 23, 7, 2], [3, 5, 8, 3, 6]])
a2 = np.array([[15, 26, 2, 17, 22], [13, 8, 9, 3, 4]])
print(np.multiply(a1[0, :], a2[1, :]))
print(np.multiply(a1[1, :], a2[0, :]))
print(np.multiply(a1[:, 3], a2[:, 1]))
Resultado:
[156 368 207 21 8]
[ 45 130 16 51 132]
[182 24]
Multiplicação Element-Wise de Matrices em Python Usando o Operador *
Também podemos usar o operador *
com as arrays para realizar a multiplicação de arrays por elemento. O operador *
, quando usado com as arrays em Python, retorna un array resultante da multiplicação do array elemento a elemento.
O código de exemplo a seguir demonstra como usar o operador *
para realizar a multiplicação matricial elemento a elemento em Python:
a1 = np.array([[12, 46, 23, 7, 2], [3, 5, 8, 3, 6]])
a2 = np.array([[15, 26, 2, 17, 22], [13, 8, 9, 3, 4]])
print(a1 * a2)
Resultado:
[[ 180 1196 46 119 44]
[ 39 40 72 9 24]]
Também podemos usar o operador *
para realizar a multiplicação elemento-a-elemento de linhas, colunas e subarrays das arrays da seguinte maneira em Python.
import numpy as np
a1 = np.array([[12, 46, 23, 7, 2], [3, 5, 8, 3, 6]])
a2 = np.array([[15, 26, 2, 17, 22], [13, 8, 9, 3, 4]])
print(a1[0, :] * a2[1, :])
print(a1[1, :] * a2[0, :])
print(a1[:, 3] * a2[:, 1])
Resultado:
[156 368 207 21 8]
[ 45 130 16 51 132]
[182 24]