반응형

소수점 반올림, 올림, 내림 - numpy, math
들어가며
이 글에서는 파이썬 패키지인 numpy와 math를 활용하여 소수점 반올림, 올림, 내림에 대해 소개합니다. 데이터의 형태에 따라 2가지 패키지 중 하나를 선택하여 사용하면 됩니다.
먼저 필요한 패키지인 pandas, numpy, math를 import하고, 임의의 숫자들로 데이터프레임을 생성합니다.
import pandas as pd
import numpy as np
import math
df = pd.DataFrame({'COL':[0.3542, 1.3585, 7.9671, 4.3317, 0.5143]})
df

- 소수점 반올림
- 소수점 올림
- 소수점 내림
소수점 반올림
반올림은 round를 사용합니다. 소수점 자릿수에 따라 숫자만 변경합니다. round를 활용한 2가지 방법이 있고, 결과는 동일합니다.
# i)
df['COL_round1'] = df.COL.round(1)
df['COL_round2'] = df.COL.round(2)
# ii)
df['COL_round3'] = round(df.COL,3)
df['COL_round4'] = round(df.COL,4)
df

소수점 올림
올림은 ceil을 사용합니다. 2가지 방법이 있습니다. numpy를 사용하면 float으로 남고, math를 사용하면 int로 변경됩니다.
# i)
df['COL_ceil_i'] = df.COL.apply(np.ceil)
print('i) ceil numpy 사용: ', df.COL_ceil_i.dtype)
# ii)
df['COL_ceil_ii'] = np.ceil(df['COL'])
print('ii) ceil numpy 사용: ', df.COL_ceil_ii.dtype)
# ii)
df['COL_ceil_iii'] = df.COL.apply(math.ceil)
print('iii) ceil math 사용: ', df.COL_ceil_iii.dtype)
df[['COL', 'COL_ceil_i', 'COL_ceil_ii', 'COL_ceil_iii']]

반응형
소수점 내림
내림은 floor을 사용합니다. 올림과 마찬가지로, numpy를 사용하면 float으로 남고, math를 사용하면 int로 변경됩니다.
# i)
df['COL_floor_i'] = df['COL'].apply(np.floor)
print('i) floor numpy 사용: ', df.COL_floor_i.dtype)
# ii)
df['COL_floor_ii'] = np.floor(df['COL'])
print('ii) floor numpy 사용: ', df.COL_floor_ii.dtype)
# iii)
df['COL_floor_iii'] = df.COL.apply(math.floor)
print('iii) floor math 사용: ', df.COL_floor_iii.dtype)
df[['COL', 'COL_floor_i', 'COL_floor_ii', 'COL_floor_iii']]

전체 코드
import pandas as pd
import numpy as np
import math
df = pd.DataFrame({'COL':[0.3542, 1.3585, 7.9671, 4.3317, 0.5143]})
df
#### 반올림 =================================================================
# i)
df['COL_round1'] = df.COL.round(1)
df['COL_round2'] = df.COL.round(2)
# ii)
df['COL_round3'] = round(df.COL,3)
df['COL_round4'] = round(df.COL,4)
df
#### 올림 =================================================================
# i)
df['COL_ceil_i'] = df.COL.apply(np.ceil)
print('i) ceil numpy 사용: ', df.COL_ceil_i.dtype)
# ii)
df['COL_ceil_ii'] = np.ceil(df['COL'])
print('ii) ceil numpy 사용: ', df.COL_ceil_ii.dtype)
# ii)
df['COL_ceil_iii'] = df.COL.apply(math.ceil)
print('iii) ceil math 사용: ', df.COL_ceil_iii.dtype)
df[['COL', 'COL_ceil_i', 'COL_ceil_ii', 'COL_ceil_iii']]
#### 내림 =================================================================
# i)
df['COL_floor_i'] = df['COL'].apply(np.floor)
print('i) floor numpy 사용: ', df.COL_floor_i.dtype)
# ii)
df['COL_floor_ii'] = np.floor(df['COL'])
print('ii) floor numpy 사용: ', df.COL_floor_ii.dtype)
# iii)
df['COL_floor_iii'] = df.COL.apply(math.floor)
print('iii) floor math 사용: ', df.COL_floor_iii.dtype)
df[['COL', 'COL_floor_i', 'COL_floor_ii', 'COL_floor_iii']]
반응형
'Python' 카테고리의 다른 글
| [파이썬] 지도 시각화 - folium, 마커 표시 (4) | 2025.04.14 |
|---|---|
| [파이썬] .env 파일 활용 - API KEY 관리 및 개인 정보 보호 (4) | 2025.04.13 |
| [파이썬] OpenWeather API 활용 방법 - 실시간 날씨 데이터 수집 (2) | 2025.04.11 |
| [파이썬] 특정 경로에 폴더, directory 생성 - os, mkdir (0) | 2025.04.10 |
| [파이썬] 데이터 집계, 피벗 테이블 생성 - pivot_table (2) | 2025.04.09 |