Python/Numpy

[Python] 파이썬 Numpy 반올림, 올림, 내림 - rint, fix

나비🦋 2024. 2. 29. 13:05
반응형

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

이번 포스팅에서는 파이썬 Numpy의 반올림, 올림, 내림 관련 함수인 rint와 fix에 대해 알아보려고 합니다.

지난 포스팅에서 다루었던 round, floor, ceil과 비슷하지만, 아주 조금 다른 함수들입니다. rint, fix는 기능이 조금 더 제한적이에요.

순서대로 예제와 함께 알아보겠습니다!


numpy.rint

rint 함수는 주어진 숫자나 배열(array)의 성분을 가장 가까운 “정수”로 반올림하는 함수입니다. round와의 차이점은, round는 소수점 자리를 지정할 수 있는 반면, rint는 반드시 정수로만 반올림을 한다는 점입니다.

함수가 요구하는 인수는 1개이고, 반드시 float로 입력하셔야 합니다.

예제 보여드릴게요!

import numpy as np

A = np.array([-1.7, 0.2, 3.0])
A_rint = np.rint(A)

print(A_rint)
[-2.0, 0.0, 3.0]

입력값과 마찬가지로 출력 결과도 float 자료형인 것을 확인할 수 있습니다.

참고로, array가 아니라 숫자 하나만 인수로 입력해도 동일하게 작동합니다.



numpy.fix

fix 함수는 조금 더 독특하고, 제한된 기능을 수행하는 함수입니다. 주어진 입력에 대해, 0을 향해 가장 가까운 정수로 올림 또는 내림하는 함수입니다.

수직선을 생각하면 더 쉽게 이해할 수 있는데요,

-1.7이라는 숫자는 수직선에서 -1과 -2 사이에 있습니다. -1.7을 기준으로 0을 향해 가장 가까운 정수는 -1입니다. 이 경우는 올림을 한 것입니다.

반대로, 2.1은 수직선에서 2와 3 사이에 있고, 0을 향해 가장 가까운 정수는 2입니다. 이 경우는 위 예시와 달리 내림을 한 것입니다.

예제로 보여드릴게요!

import numpy as np

A = np.array([-1.7, 2.1, 3.5])
A_fix = np.fix(A)

print(A_fix)
[-2.0, 2.0, 3.0]

위에서 한글로 설명드린 것처럼, 음수일 때는 올림을, 양수일 때는 내림을 수행한다고 일반화할 수 있겠습니다.

다른 함수와 마찬가지로, 숫자 하나만 넣어도 잘 작동합니다.




네! 여기까지 파이썬 numpy의 반올림, 올림, 내림 관련 함수인 rint와 fix에 대해 알아보았습니다.

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


반응형