안녕하세요! 나비입니다 🦋
이번 포스팅은 파이썬 numpy 라이브러리의 기본 수학 연산 메소드인 “mod”와 “reciprocal”에 관한 내용입니다.
이 포스팅으로 numpy의 기본 수학 연산 함수 소개는 끝낼 생각입니다.
순서대로 mod, reciprocal의 기능과 예제를 살펴보겠습니다!
numpy.mod
수학을 조금이라도 공부해 보신 분들은 모두 잘 아시겠지만, mod는 나눗셈에서의 나머지를 의미하는 약자입니다.
numpy에서도 마찬가지로, mod는 나머지를 반환하는 함수입니다.
실제 프로그래밍에서 나머지 연산은 배수 관계를 다룰 때 많이 쓰이는데요, numpy에서는 요소 단위로 계산하기 때문에 mod의 인수에 숫자와 행렬이 모두 들어갈 수 있습니다.
아래서 두 가지 예제를 보여드릴게요.
import numpy as np
A = np.mod([9, 5], [3, 4])
print(A)
이 경우는 mod의 두 인수에 모두 벡터가 들어갔습니다. 요소 단위로 계산하면, 9 나누기 3의 나머지는 0이고, 5 나누기 4의 나머지는 1입니다.
따라서 출력 결과는 아래와 같습니다.
[0, 1]
다른 예시 하나를 더 들어볼게요. 두 인수에 행렬과 숫자가 모두 사용되는 예시입니다.
import numpy as np
A = np.array([10, 11, 12, 13, 14, 15])
print(np.mod(A, 5))
이번에는 행렬을 숫자로 나눠 보았습니다. 숫자 5로 나누었기 때문에, 출력 결과는 아래와 같아요.
[0,1,2,3,4,0]
numpy.reciprocal
Numpy의 reciprocal 함수는 주어진 입력의 역수를 출력하는 함수입니다. 단일 숫자와 행렬 모두 인수에 들어갈 수 있고요, 함수가 요구하는 인수 개수는 1개입니다.
그런데 reciprocal을 사용하실 때 주의해야 할 점이 있습니다!
숫자를 입력하실 때, 반드시 실수(float) 자료형으로 입력하셔야 합니다. reciprocal은 정수에 특화된 메소드가 아니기 때문에, 정수(integer)를 입력할 경우 원하는 결과를 얻을 수 없습니다.
예제 같이 보실게요!
import numpy as np
A = np.reciporcal(2.0)
B = np.reciprocal(2)
print(A)
print(B)
Float, integer 모두 입력해서 프로그램 돌려봤습니다.
0.5
0
두 번째 결과가 조금 이상하죠? 방금 위에서 설명드렸던 대로, 정수 자료형으로 입력해서 오류가 발생한 것입니다. 반드시 실수로 입력해주세요!
import numpy as np
print(np.reciprocal([1.0, 2.0, 3.0]))
print(np.reciprocal([1,2,3]))
[1.0, 0.5, 0.333333]
[1, 0, 0]
벡터나 행렬을 입력하실 때도 마찬가지로 실수 자료형으로 입력해 주셔야 제대로 작동합니다!
네! 여기까지 numpy의 mod와 reciprocal 함수에 대해 알아 보았습니다.
긴 글 읽어주셔서 감사드리며, 도움이 되셨다면 구독과 좋아요 부탁드립니다! ✨
'Python > Numpy' 카테고리의 다른 글
[Python] 파이썬 Numpy 반올림, 올림, 내림 - rint, fix (0) | 2024.02.29 |
---|---|
[Python] 파이썬 Numpy 반올림, 올림, 내림 - round, floor, ceil (0) | 2024.02.28 |
[Python] 파이썬 Numpy 기본 수학 연산 - true_divide, floor_divide (나눗셈 심화) (0) | 2024.02.27 |
[Python] 파이썬 Numpy 기본 수학 연산 - multiply, divide (곱셈, 나눗셈) (2) | 2024.02.27 |
[Python] 파이썬 Numpy 기본 수학 연산 - add, subtract (덧셈, 뺄셈) (0) | 2024.02.26 |