강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

lovesy116님의 프로필 이미지
lovesy116

작성한 질문수

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

[작업형1] 연습문제 섹션21 ~ 30

[작업형1] 연습문제 섹션21 ~ 30중 no.27

해결된 질문

작성

·

24

0

[문제]

Section 27. 시간 범위, 속도(km/h)

  • 점심시간(10시부터 13시 전까지)에 주문된 배달 데이터를 찾으시오.

  • 점심시간 주문 건 중 과속(평균 속도가 50km/h 이상)하는 주문 수를 정수로 구하시오.

  • 배달시간 = 실제도착시간 - 주문시간

  • 속도(km/h) = 거리(km) / 시간(h)

[질문] 정답이 '1'이 아닌 21이 계속 출력되는데, 문제점을 못찾겠어요.

import pandas as pd
df = pd.read_csv("https://raw.githubusercontent.com/lovedlim/inf/refs/heads/main/p1/delivery_time.csv")

df['주문시간']= pd.to_datetime(df['예상도착시간'])
df['실제도착시간']= pd.to_datetime(df['실제도착시간'])
df['예상도착시간'] = pd.to_datetime(df['예상도착시간'])

#  점심시간(10시부터 13시 전까지)에 주문된 배달 데이터를 찾으시오.
df['시간']=df['주문시간'].dt.hour

con1= df['시간'] >= 10
con2= df['시간'] < 13
df= df[con1&con2]


#  점심시간 주문 건 중 과속(평균 속도가 50km/h 이상)하는 주문 수를 정수로 구하시오.
df['배달시간'] = df['실제도착시간']- df['주문시간']

# 배달시간 = 실제도착시간 - 주문시간
# 속도(km/h) = 거리(km) / 시간(h)
##  dt.total_seconds()/60 :분단위 
##  dt.total_seconds()/60/60 : 시간단위  
df['배달시간']= df['배달시간'].dt.total_seconds()/60/60
df['속도']  = df['거리']/ df['배달시간']

sum(df['속도']>= 50)

답변 3

3

df['주문시간']= pd.to_datetime(df['예상도착시간'])

df['실제도착시간']= pd.to_datetime(df['실제도착시간'])

df['예상도착시간'] = pd.to_datetime(df['예상도착시간'])

이쪽에서

df['주문시간']= pd.to_datetime(df['예상도착시간']) 을

df['주문시간']= pd.to_datetime(df['주문시간'])

 

으로 하면 될것같은데 잘못적으신것 같습니다?

퇴근후딴짓님의 프로필 이미지
퇴근후딴짓
지식공유자

오!!! 답변 감사합니다 🙂

1

안녕하세요, 인프런 AI 인턴입니다. lovesy116님.

귀하의 코드를 보면, 점심시간에 주문된 배달 데이터 중 과속 운전(평균 속도 50km/h 이상)을 확인하려고 하시는 것 같습니다. 몇 가지 확인하고 수정할 수 있는 부분을 안내 드리겠습니다.

코드 분석 및 문제 확인

  1. 시간과 관련된 부분:

    • ‘예상도착시간’이 아닌 ‘주문시간’을 제대로 설정하셨는지 확인하세요. 예시 데이터에서는 ‘주문시간’을 기반으로 배달 시간을 계산하는 것이 맞습니다.
  2. 속도 계산:

    • ‘배달시간’에서 총 걸린 시간을 시간 단위로 변환할 때 df['배달시간'].dt.total_seconds()/60/60로 올바르게 변환한 것으로 보입니다.
  3. 과속 조건 설정:

    • sum(df['속도'] >= 50)를 통해 평균 속도가 50km/h 이상인 주문 건수를 정수로 반환합니다. 계산 과정 자체는 올바르지만, 조건에 맞는 주문 건이 맞는지 데이터 특성을 다시 한번 검토하시는 것이 좋습니다.

점검할 사항

  1. 주어진 데이터가 제대로 로드되어 있는지 확인하세요. 간혹 데이터가 업데이트되지 않거나 로드가 잘못되었을 수 있습니다. 혹시 데이터의 구조나 이름이 바뀌지는 않았는지 확인하세요.
  2. 계산에서의 센티미터 등의 데이터 단위가 잘못 설정된 것은 아닌지 확인해보세요.
  3. 데이터 값 자체에 오류가 있는지, 그리고 예상과 다른 경우 다른 필드(예: 실제도착시간)에서 불량 또는 이상치를 확인해야 할 수 있습니다.

아래와 같은 유사한 질문 링크에서 데이터와 관련된 문제를 특정하여 해결한 사례를 확인해보실 수 있습니다. 데이터가 맞지 않거나 다른 경우도 있기 때문에 점검이 필요합니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

0

퇴근후딴짓님의 프로필 이미지
퇴근후딴짓
지식공유자

복사-붙여넣기가 좋지만 이런 실수가 발생할 수 있으니 주의해주세요.

연습에서 경험하게 되어 다행입니다:)

lovesy116님의 프로필 이미지
lovesy116

작성한 질문수

질문하기