본문 바로가기
데이터분석과 AI/빅데이터 분석기사

[빅데이터분석기사 실기][작업형1] 반올림, 올림, 내림, 버림의 차이

by 우공80 2023. 5. 23.
728x90

round, ceil, floor, trunc

 

Python에서 round, floor, ceil 및 trunc 함수의 차이점을 짚고 넘어가겠습니다. 

 

numpy와 math 라이브러리를 사용할 수 있는데,  사용방법은 비슷합니다. 여기서는 양수와 음수를 모두 비교하기 위해 numpy를 사용했습니다.

  1. round: round() 함수는 숫자를 지정된 소수 자릿수로 반올림하는 데 사용됩니다. 기본적으로 가장 가까운 짝수로 반올림됩니다. 예를 들어 round(3.7)은 4로 반올림되고 round(3.2)는 3으로 반올림됩니다. 

  2. ceil: 역시 수학 모듈에 있는 ceil() 함수는 주어진 숫자보다 크거나 같은 가장 작은 정수를 반환합니다. 항상 반올림합니다. 예를 들어 math.ceil(3.7)은 4를 생성하고 math.ceil(3.2)도 4를 생성합니다.

  3. floor: math 모듈의 floor() 함수는 주어진 숫자보다 작거나 같은 가장 큰 정수를 반환합니다. 항상 내림합니다. 예를 들어 math.floor(3.7)은 3을 생성하고 math.floor(3.2)도 3을 생성합니다.

  4. trunc: 자르기 또는 정수 나눗셈이라고도 하는 trunc() 함수는 반올림하지 않고 숫자의 소수 부분을 제거합니다. 숫자의 정수 부분을 반환합니다. 양수의 경우 trunc()는 floor()와 동일하게 동작합니다. 그러나 음수의 경우 trunc()는 0으로 반올림하고 floor()는 항상 내림합니다. 예를 들어 math.trunc(3.7)은 3을 생성하고 math.trunc(-3.7)은 -3을 생성합니다.

아래는 이에 대한 python 예제입니다.

import numpy as np

# Example numbers
x = np.array([3.7, -3.7])

# Round to nearest integer
rounded = np.round(x)
print(rounded)  # Output: [ 4. -4.]

# Round up to the nearest integer
ceiled = np.ceil(x)
print(ceiled)  # Output: [ 4. -3.]

# Round down to the nearest integer
floored = np.floor(x)
print(floored)  # Output: [ 3. -4.]

# Truncate decimal part
truncated = np.trunc(x)
print(truncated)  # Output: [ 3. -3.]

Output:

[ 4. -4.]
[ 4. -3.]
[ 3. -4.]
[ 3. -3.]


※ 위 내용은 "빅데이터 분석기사 실기 준비를 위한 캐글 놀이터"를 따라가며 공부한 내용입니다.

https://www.kaggle.com/datasets/agileteam/bigdatacertificationkr

 

Big Data Certification KR

빅데이터 분석기사 실기 (Python, R tutorial code)

www.kaggle.com

 

728x90

댓글