NumPy의 요소 별 곱셈
이 튜토리얼은 Python에서 요소 별 행렬 곱셈을 수행하는 다양한 방법을 설명합니다. 요소 별 행렬 곱셈 (Hadamard Product라고도 함)에서는 첫 번째 행렬의 모든 요소에 두 번째 행렬의 해당 요소를 곱합니다.
요소 별 행렬 곱셈을 수행 할 때 두 행렬은 모두 동일한 차원이어야합니다. 요소 별 행렬 곱셈a*b = c
의 결과 행렬c
는 항상a
및b
와 동일한 차원을 갖습니다.
다음 방법을 사용하여 Python에서 요소 별 곱셈을 수행 할 수 있습니다.
np.multiply()
메서드를 사용하여 Python에서 행렬의 요소 별 곱셈
Python NumPy
라이브러리의np.multiply(x1, x2)
메소드는 두 개의 행렬x1
및x2
를 입력으로 취하고 입력에 대해 요소 별 곱셈을 수행하고 결과 행렬을 입력으로 반환합니다.
따라서 요소 별 입력을 수행하려면 두 행렬을np.multiply()
메서드에 대한 입력으로 전달해야합니다. 아래 예제 코드는np.multiply()
를 사용하여 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))
출력:
[[ 180 1196 46 119 44]
[ 39 40 72 9 24]]
또한np.multiply()
메서드를 사용하여 행렬의 특정 행, 열 또는 부분 행렬의 요소 별 곱셈을 수행 할 수 있습니다. 행렬의 특정 행, 열 또는 부분 행렬을np.multiply()
메서드에 전달해야합니다. 요소 별 행렬 곱셈과 마찬가지로 곱셈을 위해 첫 번째 및 두 번째 피연산자로 전달되는 행, 열 또는 부분 행렬의 크기도 동일해야합니다.
아래 예제 코드는 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]))
출력:
[156 368 207 21 8]
[ 45 130 16 51 132]
[182 24]
*
연산자를 사용하여 Python에서 행렬의 요소 별 곱셈
행렬과 함께*
연산자를 사용하여 요소 별 행렬 곱셈을 수행 할 수도 있습니다. *
연산자는 Python에서 행렬과 함께 사용될 때 요소 별 행렬 곱셈의 결과 행렬을 반환합니다.
아래 예제 코드는*
연산자를 사용하여 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)
출력:
[[ 180 1196 46 119 44]
[ 39 40 72 9 24]]
또한*
연산자를 사용하여 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])
출력:
[156 368 207 21 8]
[ 45 130 16 51 132]
[182 24]