오답노트

[Numpy] 배열의 기본적인 연산 본문

Python/Numpy

[Numpy] 배열의 기본적인 연산

권멋져 2022. 7. 10. 16:58

배열의 사칙연산

배열간 사칙연산을 수행할 때, 연산자를 사용하거나 Numpy에서 제공되는 함수를 사용할 수 있다.

아래 코드블록의 내용을 기준으로 앞으로 나올 사칙연상을 수행한다.

 

import numpy as np

arr1 = np.array([[1,2,3],
                 [4,5,6],
                 [7,8,9]])
arr2 = np.array([[2,2,2],
                 [2,2,2],
                 [2,2,2]])

print(arr1)

'''''''

[[1 2 3]
 [4 5 6]
 [7 8 9]]

'''''''

print(arr2)

'''''''

[[2 2 2]
 [2 2 2]
 [2 2 2]]

'''''''

 

덧셈 / add

'+' 연산자 또는 add 함수를 사용해 행렬간 덧셈을 수행한다.

#덧셈
print(arr1 + arr2)
print(np.add(arr1,arr2))

'''''''

[[ 3  4  5]
 [ 6  7  8]
 [ 9 10 11]]
 
''''''''

 

뺄셈 / subtract

'-' 연산자 또는 subtract 함수를 사용해 행렬간 뺄셈을 수행한다.

#뺄셈
print(arr1-arr2)
print(np.subtract(arr1,arr2))

'''''''

[[-1  0  1]
 [ 2  3  4]
 [ 5  6  7]]

'''''''

 

곱셈 / multiply

' * ' 연사자 또는 multiply 함수를 사용해 행렬간 곱셈을 수행한다.

주의할 점은 수학에서 수행하는 행렬의 곱과 달리 원소 단위의 곱에 대한 결과를 반환한다.

#곱셈 -> 내적연산이 아닌 원소 단위의 곱셈에 대한 결과
print(arr1 * arr2)
print(np.multiply(arr1,arr2))

'''''''

[[ 2  4  6]
 [ 8 10 12]
 [14 16 18]]
 
'''''''

 

제곱 / square

'**' 연산자 또는 square 함수를 통해 행렬의 제곱을 구할 수 있다.

'**' 연산자는 뒤 따라 오는 정수에 따라 n 제곱도 구할 수 있다.

#제곱 연산
print(arr1 ** 2)
print(np.square(arr1))

'''''''

[[ 1  4  9]
 [16 25 36]
 [49 64 81]]

'''''''

print(arr1 ** 4)

'''''''

[[   1   16   81]
 [ 256  625 1296]
 [2401 4096 6561]]

''''''''

제곱근 / sqrt

sqrt 함수를 사용해 행렬의 제곱근을 구할 수 있다.

#제곱근
print(np.sqrt(arr1))

'''''''

[[1.         1.41421356 1.73205081]
 [2.         2.23606798 2.44948974]
 [2.64575131 2.82842712 3.        ]]

'''''''

나눗셈 / divide

'/' 연산자 또는 diveide 함수를 사용해 행렬간 나눗셈을 수행한다.

#나눗셈
print(arr1 / arr2)
print(np.divide(arr1,arr2))

''''''''

[[0.5 1.  1.5]
 [2.  2.5 3. ]
 [3.5 4.  4.5]]
 
 '''''''

파이썬에서 사용하는 '//' 연산자를 통해 몫을 구할 수 있다.

#몫
print(arr1 // 2)

'''''''

[[0 1 1]
 [2 2 3]
 [3 4 4]]
 
'''''''

나머지

파이썬에서 사용하는 '%' 연산자를 통해 나머지를 구할 수 있다.

#나머지
print(arr1 % 2)

'''''''

[[1 0 1]
 [0 1 0]
 [1 0 1]]
 
'''''''