커뮤니티
포인트
쿠폰
내 강의실
국비 신청 내역
증명서
계정
로그아웃
학습 질문
개발 일지
나의 활동
답변 완료
피봇테이블 만드는 부분에 대해 질문 드립니다.
undefined주차
북마크
허*인
댓글
7
추천
0
조회수
17
조회수
17
답변 완료

* 겪고 있는 문제 상황을 최대한 자세하게 작성해주세요.

* 문제 해결을 위해 어떤 시도를 해보았는지 구체적으로 함께 알려주세요.



피봇테이블 만드는 부분에서 선생님께서 작성해주신 코드를 그대로 복붙하였는데,

제 피봇테이블은 색상이 모두 일정하게 나와서요.

혹시 어떠한 오류가 있어서 그런걸까요?



스파르타 즉문즉답스파르타 즉문즉답



작성한 코드 및 에러 메세지

#첫 주가 31주니 변수를 하나 만들어 줍니다!

f=31

#처음 수강 시작한 주의 범위가 {31,32,33,34,35,36} 이니, range(6)으로 합시다!

for i in range(6):

#5주차의 강의가 마지막이고, 0주차까지 이니, 시작은 5에서 시작해 1씩 0까지 감소 시킬수 있어요!

  for j in range(5, 0, -1):

    cohort_data.at[(f,j-1), 'user_id'] = int(cohort_data.at[(f,j),'user_id']) +  int(cohort_data.at[(f,j-1),'user_id'])

#주차는(31부터 32 33..) 1씩 늘어나죠?

f=f+1


cohort_data = cohort_data.reset_index()

cohort_data.head()



cohort_counts = cohort_data.pivot(index="start_week",

                                  columns="week",

                                  values="user_id")

cohort_counts


# 앞서 만든 피벗 테이블을 retention 변수에 저장하기

retention = cohort_counts

#각 주(week) 별 최초 수강생 수만 가져오기

cohort_sizes = cohort_counts.iloc[:,0]

cohort_sizes.head()


# 최초 수강생 수를 각 데이터에 나눠주기

retention = cohort_counts.divide(cohort_sizes, axis=0)

retention


#각 수치 퍼센트로 변경하기

retention.round(3)*100


#테이블 크기 설정 하기

plt.figure(figsize=(10,8))


sns.heatmap(data=retention,

           annot=True,

           fmt='.0%',

           vmin=0,

           vmax=1,

           cmap="BuGn")



plt.xlabel('주차', fontsize=14,labelpad=30)


plt.ylabel('개강일', fontsize=14,rotation=360,labelpad=30)

plt.yticks(rotation=360)


plt.show()

취소
 공유
취소
댓글 0
댓글 알림
나의얼굴