068 반올림수 구하기(round)
파이썬 내장함수 round()는 인자로 입력된 숫자형 자리수에서 반올림한 결과를 리턴함.
예제
print(round(16.554)) # 소수점 첫번째 자리에서 반올림 => 17
print(rount(16.554, 0)) # 소수점 첫번째 자리에서 반올림 => 17
print(rount(16.554, 1)) # 소수점 두번째 자리에서 반올림 => 16.5
print(rount(16.554, 2)) # 소수점 세번째 자리에서 반올림 => 16.55
ㅇ파이썬에서 반올림 할 때 중요하게 알아야 하는 내용
print(round(142.5)) # 143이 아닌 142가 출력됨
파이썬은 짝수를 좋아함.
142.5 => 142
187.5 => 188
파이썬에서 이것을 해결하는 함수가 없음. 0.5일때는 짝수쪽으로 숫자가 바뀌고, 0.51일대는 그냥 반올림됨.
문제244. emp2.csv를 판다스 데이터프레임으로 만들어서 이름과 월급을 출력하시오.
import pandas as pd
emp = pd.read_csv("c:\\data\\emp2.csv")
emp[['ename','sal']]
문제245. 이름과 보너스를 출력하시오. 보너스는 자기 자신의 월급의 10%로 하시오.
emp['bonus'] = emp['sal']*0.1
emp[['ename','bonus']]
# .apply()를 이용해 쓰는 방법
def ten_bonus(num):
return num*0.1
emp['bonus'] = emp['sal'].apply(ten_bonus)
emp[['ename','bonus']]
apply 함수를 사용하게 되면 emp['sal']의 데이터를 ten_bonus 함수에 하나씩 적용해서 bonus컬럼의 데이터를 구성하게 됨.
문제246. 보너스를 출력할때 소수점 첫번째 자리에서 반올림되어서 출력되게 하시오.
def ten_bonus(num):
return num*1.245
emp['bonus'] = round(emp['sal'].apply(ten_bonus))
emp[['ename','bonus']]
문제247. 위의 출력되는 결과에서 bonus를 정수형으로 출력하시오.
def ten_bonus(num):
return num*1.245
emp['bonus'] = round(emp['sal'].apply(ten_bonus)).astype('int')
emp[['ename','bonus']]
반응형
'Study > class note' 카테고리의 다른 글
python / pandas(결측치 치환, 파생변수 추가) (0) | 2021.12.22 |
---|---|
python / 자료 형변환하기(int, float,filter), 최댓값/최솟값(max,min) (0) | 2021.12.22 |
python / pandas(검색, 조인, 서브쿼리, 그룹함수) (0) | 2021.12.21 |
python / 몫, 나머지 구하기(%, divmod) (0) | 2021.12.21 |
python / 커피 키오스크 결산, 데이터 쌓는 함수 따로 빼기 (0) | 2021.12.20 |