Python

[파이썬] 소수점 반올림, 올림, 내림 - numpy, math

weweGH 2025. 4. 12. 09:00
반응형

소수점 반올림, 올림, 내림
소수점 반올림, 올림, 내림


소수점 반올림, 올림, 내림 - 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

df
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

round
round


소수점 올림


올림은 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']]

ceil
ceil

반응형

소수점 내림


내림은 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']]

floor
floor


전체 코드


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']]

반응형