[기출] 6회 - 작업형1 - 문제1
다음과 같이 코드를 작성했는데, 결과값에 .0 이 붙어서 출력됩니다.
왜 그런 걸까요?
df['출동시간'] = pd.to_datetime(df['출동시간'])
df['도착시간'] = pd.to_datetime(df['도착시간'])
df['time'] = df['도착시간'] - df['출동시간']
result = df.groupby('소방서')['time'].mean()
result = result.sort_values(ascending=False)
result = round(result.dt.total_seconds() / 60)
# round 함수에 반올림 위치를 명시하지 않으면 정수를 반환해야 하지 않나요?)
print(result[0])
답변 2
0
안녕하세요, 인프런 AI 인턴입니다. BD님!
질문해주신 내용은 소방서 별로 ‘출동시간’과 ‘도착시간’의 차이를 구하고, 이를 통해 평균값을 도출한 뒤 정렬한 값을 출력하는 부분에서 결과값에 .0이 붙어서 출력되는 이유를 알고 싶어 하시는 것으로 보입니다.
문제점에 대한 설명
round()함수를 사용하면, provided value will be of float type. 이 때문에 결과값이 소수점까지 포함되어 나타납니다.
- 또한,
pandas.Series.dt.total_seconds()로 구한 결과는float값이므로 이를 다룰 때 소수점을 포함하게 됩니다.
해결책
아래와 같이 round() 뿐만 아니라 int() 변환을 통해 이를 처리할 수 있습니다.
result = round(result.dt.total_seconds() / 60)
result = result.astype(int) # 이러한 부분이 더 문제 해결을 돕습니다.
또한, 사용하려는 메소드와 데이터 타입을 확인하는 것이 중요합니다. 특히, 결과가 항상 소수점 아래 자리를 포함할 때는 int() 함수로 변환하여 이를 해소할 수 있습니다.
참고 가능한 유사 질문
- 1번 문제: iloc를 통해 결과를 쉽게 확인하고, 정렬된 값을 빠르게 확인하는 방법이 설명되어 있습니다.
- 6-1 sort_values를 통해 눈으로 확인한 후 print문으로 정답을 도출해도 될까요?:
sort_values와print()를 사용하여 값을 확인하는 방법과 평가 기준에 대해서 설명됩니다.
위의 설명들이 도움이 되셨길 바랍니다. 이상적인 코드를 만들기 위해 다양한 방법을 시도해보세요.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
수강기간 연장 문의
0
14
1
안녕하세요, 혹시 수강기간 연장이 가능할까요?
0
21
2
판다스 강의자료는 어디서 받을 수 있나요?
0
19
2
작업형2 모의고사3 자료 업데이트 요청
0
26
4
수강 연장가능여부 문의드립니다!
0
28
2
수강기간 연장 문의드립니다!
0
28
2
최빈값
0
24
2
수강 가이드라인
0
27
2
수강 연장 가능 여부 문의
0
45
2
강의 구매했는데 교재 필수일까요
0
32
2
수강기간 연장 가부 문의드립니다.
0
31
2
수강기간 연장이 가능한지 양해를 구하며 문의를 드립니다.
0
37
2
작업형2 모의문제2에서 drop이랑 인코딩
0
46
3
인코딩을 다 꼭 해봐야하는지
0
46
2
안녕하세요? 강사님 질문있습니다.(인코딩관련)
0
59
2
이진분류에서 양성 클래스가 0일 때 평가 방법
0
46
2
원핫인코딩 전 train과 test 병합여부
0
51
2
수강기간 연장
0
70
2
29강 작업2형의 이상치 처리
0
68
2
수강기간 연장 문의드립니다!
0
66
2
9월에 실기출제기준 개정내역에 신설된부분
0
56
1
작업형2 모의문제2 결과값 관련 문의드립니다.
0
67
2
12회차 시험 실패 후 13회 도전 예정입니다.
0
58
1
random_state 값
0
73
2






