Python/Numpy

[Python] 파이썬 Numpy 기본 수학 연산 - add, subtract (덧셈, 뺄셈)

나비🦋 2024. 2. 26. 21:28
반응형

안녕하세요! 나비입니다 🦋

이번 포스팅에서는 파이썬 numpy의 기본 수학 연산 2가지를 알아보려고 해요.

numpy는 선형대수학 계산을 위한 라이브러리이기 때문에, 여기서 말하는 “연산”은 행렬 연산 위주라는 점 참고해주세요!

순서대로 add, subtract 알아보겠습니다.


numpy.add

add 메소드는 말 그대로 행렬을 더하는 함수입니다. 행렬의 요소 단위로 덧셈 계산을 한 새로운 행렬을 반환합니다.

그런데, 원래 선형대수학에서는 차원과 형태가 모두 같은 행렬들끼리만 더할 수 있었는데, numpy의 add 기능은 조금 더 다양합니다.

numpy.add는 더 유연하고 폭넓은 기능을 제공하는데요, 아래에서 순서대로 설명드려볼게요!

1. 실수 계산

import numpy as np

a = np.add(4.0, 6.0)
print(a)
10.0

add 메소드는 행렬 계산뿐 아니라, 일반적인 숫자 계산도 해줍니다.

사실 쓸 일이 많이 없을 것 같은 기능이어서, ‘이런 것도 있다’ 정도의 느낌으로 알아가시면 좋을 것 같습니다!


2. 행 단위로 덧셈

import numpy as np

A = np.array([0,1,2],[3,4,5])
B = np.array([1,2,3])

print(np.add(A,B))

위의 코드에서 수행하려는 계산은 이론적인 정의에는 맞지 않는 것으로 보이시죠? 하지만 add는 조금 더 유연하게 행동합니다.

우선 출력 결과를 보여드릴게요!

[[1,3,5],[4,6,8]]

작동 원리는 직관적으로 예상하셨다시피 B 벡터를 A의 행마다 각각 더하는 것입니다.

A의 1행 [0, 1, 2]에 [1, 2, 3]을 더하면 [1, 3, 5]가 되고, A 2행 [3, 4, 5]에 똑같이 [1, 2, 3]을 더하면 [4, 6, 8]이 되는데요, 이처럼 add는 새로 만들어진 두 행을 합친 행렬을 반환합니다.



numpy.subtract

Substract라는 단어는 ‘빼다’라는 뜻인데요, 이처럼 numpy의 subtract는 다양한 뺄셈 기능을 제공합니다.

위에서 설명드렸던 add와 거의 동일한 원리로 작동합니다. 덧셈에서 뺄셈으로 바뀐 것뿐이죠.

아래서 코드로 설명드릴게요!

1. 실수 계산

import numpy as np

a = 3.0
b = 5.0

print(np.subtract(a, b))
-2.0

덧셈과 마찬가지로, 행렬이 아닌 숫자의 뺄셈도 가능합니다.


2. 행 단위로 덧셈

import numpy as np

A = np.array([[0,1,2], [1,2,3]])
B = np.array([0,1,2])

print(np.subtract(A, B))
[[0,0,0], [1,1,1]]

덧셈과 같은 원리로, [0, 1, 2]에서 [0, 1, 2]를 빼고, [1, 2, 3]에서 [0, 1, 2]를 뺀 다음 두 행을 하나로 합친 행렬을 반환하는 것을 알 수 있습니다.



네! 여기까지 numpy의 기본 수학 연산 함수 add와 subtract에 대해서 알아보았습니다. 다음 포스팅에서는 multiply와 divide를 이어서 알아볼게요!

긴 글 읽어주셔서 감사드리며, 도움이 되셨다면 구독과 좋아요 부탁드려요! ✨

반응형