사칙연산 + a (덧셈, 뺄셈, 곱셉, 나눗셈, 거듭제곱, 나머지)
사칙연산 + a 모두 각 요소끼리의(Element-wise) 연산으로 이루어진다. 함수를 호출해서 연산해도 되고, 연산자(+, -, *, /, **, %)를 사용해도 된다.
numpy.add()
import numpy as np a = np.arange(1,5) b = np.arange(5,9) print(a + b, np.add(a, b)) # [ 6 8 10 12] [ 6 8 10 12]numpy.sub()
# numpy import는 이후 생략 a = np.arange(1,5) b = np.arange(5,9) print(a - b, np.subtract(a, b)) # [-4 -4 -4 -4] [-4 -4 -4 -4]numpy.multiply()
a = np.arange(1,5) b = np.arange(5,9) print(a * b, np.multiply(a, b)) # [ 5 12 21 32] [ 5 12 21 32]numpy.divide()
a = np.arange(1,5) b = np.arange(5,9) print(a / b, np.divide(a, b)) # [0.2 0.33333333 0.42857143 0.5 ] [0.2 0.33333333 0.42857143 0.5 ]numpy.power()
a = np.arange(1,5) b = np.arange(5,9) print(a ** b, np.power(a, b)) # [ 1 64 2187 65536] [ 1 64 2187 65536]numpy.mod()
a = np.arange(1,5) b = np.arange(5,9) print(a % b, np.mod(a, b)) # [1 2 3 4] [1 2 3 4]다차원 NumPy array에 대해서도 마찬가지로 Element-wise로 동작한다.
a = np.arange(1,5).reshape(2,2) b = np.arange(5,9).reshape(2,2) print(a + b, a - b, a * b, a / b, a ** b, a % b, sep='\n') #[[ 6 8] # [10 12]] #[[-4 -4] # [-4 -4]] #[[ 5 12] # [21 32]] #[[0.2 0.33333333] # [0.42857143 0.5 ]] #[[ 1 64] # [ 2187 65536]] #[[1 2] # [3 4]]
행렬곱
마찬가지로 함수를 호출해도 되고, 연산자(@)을 사용해도 된다.
numpy.matmul()
a = np.arange(1,5).reshape(2,2) b = np.arange(5,9).reshape(2,2) print(np.matmul(a,b), a @ b, sep='\n') #[[19 22] # [43 50]] #[[19 22] # [43 50]]