DataFrame 내 전체 요소를 반올림해보자.
col = [C1, C2, C3, C4, C5]
row = [R1, R2, R3, R4, R5]
element = np.random.rand(5, 5) * 999
#5*5 형태의 난수를 0~1 범위에서 균일한 분포로 생성. 아무 숫자를 만들기 위해 그냥 999를 곱함.
df = pd.DataFrame(data = element, index = row, columns = col)
print(df)
다음과 같은 결과가 나온다.
C1 C2 C3 C4 C5
R1 696.761214 128.646043 750.025716 386.404426 914.701789
R2 534.441934 728.426920 283.966216 20.687586 447.115523
R3 603.566128 252.030830 20.503158 224.527961 376.361116
R4 855.718702 79.776198 559.481970 66.475431 644.877529
R5 584.116974 910.260535 39.959175 816.038014 810.668730
이때, 'df(DataFrame).round(decimals = 0)'함수를 사용
decimals로 소수점 자리를 조정할 수 있다. 소수 n번째 자리 까지 반올림한다는 뜻.
음수를 활용하면 10의 n승 자리를 반올림 할 수 있다.
예시 :
print(df.round(0))
C1 C2 C3 C4 C5
R1 725.0 569.0 81.0 235.0 208.0
R2 756.0 633.0 463.0 693.0 106.0
R3 327.0 929.0 886.0 667.0 775.0
R4 318.0 834.0 794.0 246.0 277.0
R5 47.0 658.0 967.0 352.0 83.0
print(df.round(1))
C1 C2 C3 C4 C5
R1 725.0 569.1 81.4 234.7 207.7
R2 756.3 633.1 463.0 693.0 105.8
R3 327.3 928.6 886.4 667.0 775.2
R4 318.3 834.0 794.5 245.9 276.6
R5 46.6 657.9 966.8 351.7 82.5
print(df.round(2))
C1 C2 C3 C4 C5
R1 725.03 569.13 81.36 234.74 207.73
R2 756.29 633.11 462.97 692.95 105.77
R3 327.25 928.56 886.40 667.03 775.21
R4 318.29 834.00 794.46 245.88 276.60
R5 46.58 657.91 966.76 351.71 82.51
print(df.round(-1))
C1 C2 C3 C4 C5
R1 490.0 480.0 600.0 190.0 180.0
R2 340.0 650.0 80.0 980.0 620.0
R3 670.0 480.0 990.0 510.0 790.0
R4 290.0 1000.0 40.0 490.0 140.0
R5 550.0 330.0 240.0 780.0 240.0
개발자로서 성장하는 데 큰 도움이 된 글이었습니다. 감사합니다.