안녕하세요! 나비입니다 🦋
이번 포스팅에서는 행렬의 각 원소들의 대소관계를 서로 비교할 수 있는 numpy 메소드 3개를 소개해 드리려고 합니다.
greater, less, equal이라는 메소드 이름에서 이미 짐작하셨겠지만, 차원이 같은 두 행렬에 대하여 같은 위치에 있는 원소끼리 크고 작음을 비교해주는 기능을 수행합니다.
greater : 행렬의 요소별로 X > Y의 진리값(true, false)를 반환합니다.
less : 행렬의 요소별로 X < Y의 진리값(true, false)를 반환합니다.
equal : 행렬의 요소별로 X = Y의 진리값(true, false)를 반환합니다.
X, Y는 각각의 요소를 의미합니다.
예제 코드를 통해 더 직관적으로 보여드릴게요!
np.greater
import numpy as np
A = np.array([1,2,3])
B = np.array([3,2,1])
print(np.greater(A,B))
[False, False, True]
(A,B)로 입력했을 때와 (B,A)로 입력했을 때 결과가 달라지기 때문에 행렬의 순서를 잘 체크하셔야 할 것으로 생각됩니다.
A > B의 진리값을 반환하기 때문에, 위와 같이 3개의 bool 값이 array로 출력되었습니다.
np.less
import numpy as np
A = np.array([0,1,2,3])
B = np.array([3,2,1,0])
print(np.less(A, B))
[True, True, False, False]
이번엔 less 함수인데요, greater와 정반대 기능을 수행합니다. A < B인 경우 True를, A > B 또는 A = B인 경우 False를 출력합니다.
greater와 less는 요소가 같은 경우를 True에 포함시키지 않습니다. 미만과 초과의 개념입니다.
np.equal
import numpy as np
A = np.array([0,0,1,1])
B = np.array([0,0,0,0])
print(np.equal(A,B))
[True, True, True, True]
equal 메소드는 두 원소가 같은 경우에 True, 같지 않은 경우에 False를 출력합니다.
예시에서는 1차원 벡터만 보여드렸지만, 세 가지 메소드 모두 더 큰 차원의 행렬에 대해서도 동일하게 작동할 수 있습니다.
'Python > Numpy' 카테고리의 다른 글
[Python] 파이썬 numpy 자주 쓰는 상수 정리 - 원주율, 자연상수, 무한대, Null (0) | 2024.05.11 |
---|---|
[Python] 파이썬 numpy 행렬 결합 - hstack, vstack (0) | 2024.04.26 |
[Python] 파이썬 numpy 내적, 행렬곱, 전치행렬 - dot, matmul, transpose (0) | 2024.04.24 |
[Python] 파이썬 numpy 행렬 생성과 반복 - repeat, tile (0) | 2024.04.24 |
[Python] 파이썬 numpy 행렬 생성 - ones, ones_like, zeros, zeros_like, identity (2) | 2024.04.20 |