* 자료 출처: Kaggle - Google Analytics Customer Revenue Prediction
1. 문제 배경
- 요일별-시간대별 방문자수와 구매수를 히트맵으로 시각화
2. 히트맵 생성
# 시간대별 데이터 출력을 위해 시간으로 변환
visit_hour = df['visitStartTime'].dt.hour
visit_dayofweek = df['visitStartTime'].dt.weekday # 월요일이 0
# 피봇테이블 생성
# 행 index는 시간, 열 columns는 요일, 사용할 값은 방문자수
wod_hour_pivot = pd.pivot_table(df, index=visit_hour, columns=visit_dayofweek, values=['fullVisitorId'], aggfunc = 'count')
# 요일-시간대 히트맵 생성
plt.figure(figsize=(10, 8))
sns.heatmap(wod_hour_pivot, cmap='Blues', annot=False, linewidths=2)
plt.title('Number of Users by a Day of the Week and Hour')
plt.xlabel('Day of the Week')
plt.ylabel('Hour')
plt.xticks(range(7), labels=['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'], rotation=0)
# 구매수 데이터로 피봇테이블 생성
# 행 index는 시간, 열 columns는 요일, 사용할 값은 구매수
purchase_wod_hour_pivot = pd.pivot_table(df, index=purchase_hour, columns=purchase_dayofweek, values=['fullVisitorId'], aggfunc = 'count')
#요일-시간대 히트맵 생성
plt.figure(figsize=(10, 8))
sns.heatmap(purchase_wod_hour_pivot, cmap='Blues', annot=False, linewidths=2)
plt.title('Number of Purchase by a Day of the Week and Hour')
plt.xlabel('Day of the Week')
plt.ylabel('Hour')
plt.xticks(range(7), labels=['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'], rotation=0)
'TIL' 카테고리의 다른 글
[240219] SQL: 코드카타 122 (0) | 2024.02.19 |
---|---|
[240216] 구매자 예측 모델링(실패한 코드) (0) | 2024.02.16 |
[240214] 파이차트: 기준값 추가 / 막대그래프: X축 이름 및 간격 변경 (0) | 2024.02.14 |
[240213] 유저ID와 방문시작시간으로 세션ID/평균세션시간 생성(feat. ECDF) (0) | 2024.02.14 |
[240208] 날짜 데이터 타입 변환 및 처리(to_datetime, datetime) (0) | 2024.02.08 |