개발/ETC

[python] 반올림,반내림 (0.5 사사오입 문제 해결)

wonpick 2021. 6. 4. 15:25

python의 round 함수를 이용해 보통 반올림/반내림을 하게 되는데 round( )는 정수부분이 짝수이냐 홀수있냐에 따라 0.5에서 반올림/반내림이 달라진다.

때문에 수식을 새로 만들어서 0.5부분도 제대로 계산이 될 수 있도록 만들어줘야한다. 

람다를 사용하여 계산식을 만들어준 뒤 데이터 프레임에 적용하였다. 

.apply(lambda x:int(x) + 1 if (x - int(x)) >= 0.5 else int(x)))

 


아래는 두개 코드의 출력물이다. 

데이터프레임을 아래와 같이 만든 이유는 최대한 현업에서 보는 엑셀 화면과 동일하게 만들기 위해서였다.

자세한 영업일자 계산식은 추후 업로드!!!! 🥨