티스토리 뷰
이제 기다리고 기다리던 데이터를 보고 우리가 분석하기 좋게 데이터를 전처리하고 새로운 변수를 만들어 볼게요.
먼저 데이터부터 볼게요~
데이터 정보를 봤을 때 null 값은 없는 걸로 나왔습니다.
그럼 Delivery_person_Age, Delivery_person_Ratings 등은 float64로 Order_Date. Time_Orderd 등은 datetime은로 타입을 변경시켜 보겠습니다.
어...?🤷♀️🤷♂️ NaN 값이 존재하네요??
Delivery_person_Age에서 NaN 값이 존재하는지 보겠습니다.
데이터 정보에서는 없다고 했는데 NaN이 떡하니 있네요...
이런 경우에는 NaN 값이 str으로 취급되어서 그런 겁니다.
그래서 NaN 타입을 float로 변경한 다음에 다시 null 값을 볼게요.
타입을 변경하고 나서 보니 컬럼 별로 null 값이 존재하는 걸 확인할 수 있었습니다.
생각보다 많이 있네요...
모든 null 값을 다 제거하겠습니다.
Time_Orderd, Time_Order_picked는 timedelta로 타입을 변경시키겠습니다.
df['Time_Orderd']=pd.to_timedelta(df['Time_Orderd'])
df['Time_Order_picked']=pd.to_timedelta(df['Time_Order_picked'])
df[['Time_Orderd','Time_Order_picked']]
Weatherconditions 변수의 conditions와 Time_taken(min)의 (min) 단어를 제거할게요.
Delivery_person_Age, Delivery_person_Ratings, Restaurant_latitude, Restaurant_longitude, Delivery_location_latitude, Delivery_location_longitude, Vehicle_condition, multiple_deliveries, Time_taken(min) 변수들은 float로 Order_Date는 datetime으로 변환을 해보겠습니다.
이제 변수들을 만들어 보겠습니다.
먼저 주문 후 라이더가 음식을 픽업했는지를 볼 수 있는 변수를 만들겠습니다.
np.where은 if와 같은 기능인데 np.where로 일을 +1 한 이유는 주문은 전날에 했고(11시 59분) 라이더가 다음날에 픽업(12시 넘어서)을 하는 경우가 있어 존재하기 때문입니다.
index 41365가 주문은 2022년 3월 11일 11시 50분에 주문을 했고 라이더가 2022년 3월 12일 12시 05분에 픽업하는 경우로 대표적인 사례라고 볼 수 있습니다.
pick_time과 order_time을 빼서 주문시간과 픽업 시간의 차이(orpi_time_diff_m)를 구했습니다.
order_time과 pick_time 변수를 만들었으니까
Time_Orderd와 Time_Order_picked 변수는 삭제할게요~
다음으로는 거리를 구해 볼게요!!
우리는 레스토랑의 위도와 경도, 도착지의 위도, 경도를 알고 있어요.
위도와 경도를 haversine 라이브러리로 거리를 도출해 볼게요~
haversine 라이브러리 직선거리 값만 구할 수 있는 게 단점이긴 한데... 그래도 거리와 시간을 알게 되었으니까 속력을 구해 보겠습니다.
마지막으로 요일과 city code를 구해보겠습니다.
city code는 Delivery_person_ID에서 res전 단어가 city code라서 res 기준으로 split 하여 단어를 추출하겠습니다.
데이터 전처리를 하고 변수를 만드니까 20개였던 변수가 25개로 늘었네요~
다음장에서는 열심히 전처리하고 만든 변수들을 가지고 EDA를 진행해볼 계획입니다.
이상 전처리를 마무리하겠습니다~
'데이터분석하러왔어요' 카테고리의 다른 글
음식 배달 데이터 분석 하고 갈래?(비즈니스 데이터 분석 -1) (0) | 2022.12.30 |
---|---|
음식 배달 데이터 분석 하고 갈래?(비즈니스 데이터 분석 - 코호트분석) (0) | 2022.12.19 |
음식 배달 데이터 분석 하고 갈래?(목표설정) (0) | 2022.12.09 |
음식 배달 데이터 분석 하고 갈래?(배달 정의 및 배달 비즈니스 이해) (0) | 2022.12.06 |
음식 배달 데이터 분석 하고 갈래?(Intro) (0) | 2022.12.05 |
- Total
- Today
- Yesterday
- 비즈니스 분석
- 라스트마일
- 음식 배달
- 음식
- BeautifulSoup
- 비즈니스분석
- OpenAPI
- 메이플
- Lastmile
- Investing
- 데이터
- 크롤링
- 포지션매트릭스
- 데이터분석
- 라스트마일 분석
- 환율
- 라스트마일분석
- NEXONAPI
- 코호트분석
- maplestory
- 배달
- Requests
- Crawling
- 무릉도장
- 음식배달
- 메이플API
- 비즈니스 데이터분석
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |