🎯 목적: 수강생의 즉문즉답 수요가 많은 요일을 알아내서 튜터님의 수를 요일에 따라 적절하게 배치하고 싶다.
✍🏻 정보: 수강생들의 수강이 완료되는 시점이 필요하다.
🤔 가설: 수강생들의 수업 완료 시간대는 주로 한가한 주말일 것이다.
데이터 전처리
1. 라이브러리 사용 선언
import pandas as pd
2. 파일 불러오기 및 읽기
sparta_data = pd.read_table('/content/done_detail.csv', sep = ',')
sparta_data.head()
- 컬럼 정보
- lecture_id: 수강 강의 Id
- done_date: 수강 완료 날짜 및 시간
- user_id: 유저 Id
- 필요한 데이터는 done_date(수강 완료 날짜 및 시간)와 user_id(유저 Id)
3. 데이터 전처리
- 문자열로 구성된 시간을 날짜 형식으로 변환
sparta_data['done_date_time'] = pd.to_datetime(sparta_data['done_date'], format = 'mixed')
sparta_data.tail(5)
- 날짜에 해당하는 요일 조회
sparta_data['done_date_time_weekday'] = sparta_data['done_date_time'].dt.day_name()
sparta_data.tail(5)
- 요일별 수강 완료 수강생 수 구하기
weeks = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']
weekdata = sparta_data.groupby('done_date_time_weekday')['user_id'].count()
weekdata = weekdata.agg(weeks)
weekdata
데이터 시각화
1. 라이브러리 사용 선언
import matplotlib.pyplot as plt
# 한글 깨짐 방지
plt.rc('font', family = 'NanumBarunGothic')
2. 요일별 수강 완료 수강생 수 라인 그래프 그리기
# 그래프 사이즈
plt.figure(figsize = (10, 5))
# 그래프 x축 y축
plt.bar(weekdata.index, weekdata)
# 그래프 명
plt.title('요일별 수강 완료 수강생 수')
# 그래프 x축 레이블
plt.xlabel('요일')
# 그래프 y축 레이블
plt.ylabel('수강생(명)')
# x축 레이블을 90도로 변환
plt.xticks(rotation = 90)
# 그래프 출력
plt.show()
'PM 트랙_강의 > 데이터 분석' 카테고리의 다른 글
파이썬(Python) 실습하기 - 제품 수요가 많은 지역 찾기 (1) | 2025.01.13 |
---|---|
파이썬(Python) 실습하기 - 수강생들이 강의 듣는 시간과 요일 분석 (0) | 2025.01.08 |
파이썬(Python) 실습하기 - 파일 읽어 오기, 데이터 정제, 분석 및 시각화 (1) | 2025.01.07 |
파이썬(Python) 나아가기 - numpy, seaborn 라이브러리 (0) | 2025.01.07 |
파이썬(Python) 사용하기 - matplotlib 라이브러리 (3) | 2025.01.07 |