커뮤니티
포인트
쿠폰
내 강의실
국비 신청 내역
증명서
계정
로그아웃
학습 질문
개발 일지
나의 활동
답변 완료
index 관련 질문입니다!
undefined주차
북마크
박*윤
댓글
3
추천
0
조회수
25
조회수
25
답변 완료

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

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


sparta_data_pivot_table = pd.pivot_table(sparta_data, values='user_id', 
                       index=['access_date_time_weekday'],
                       columns=['access_date_time_hour'], 
                       aggfunc="count").agg(weeks)
sparta_data_pivot_table


위에 피벗 테이블 코드에서는 index가 정해져 있는데


weeks = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']
weekdata = sparta_data.groupby('access_date_time_weekday')['user_id'].count()
weekdata




sparta_data['access_date_time_hour'] = sparta_data['access_date_time'].dt.hour



hourdata = sparta_data.groupby('access_date_time_hour')['user_id'].count()
hourdata = hourdata.sort_index()
hourdata


위에 주 데이터와 시간 데이터에는 index가 정해져 있지 않아서요


피벗테이블에서는 index를 설정해 놓은 것 같은데


week data와 hour data의 index는 왜 설정 돼 있지 않은걸까요?


스파르타 즉문즉답




import pandas as pd



sparta_data = pd.read_table('/content/access_detail (2).csv', sep=',')
sparta_data.head()



format='%Y-%m-%dT%H:%M:%S.%f'
sparta_data['access_date_time'] = pd.to_datetime(sparta_data['access_date'], format='mixed')



sparta_data['access_date_time_weekday'] = sparta_data['access_date_time'].dt.day_name()
sparta_data.tail(5)



weeks = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']
weekdata = sparta_data.groupby('access_date_time_weekday')['user_id'].count()
weekdata




sparta_data['access_date_time_hour'] = sparta_data['access_date_time'].dt.hour



hourdata = sparta_data.groupby('access_date_time_hour')['user_id'].count()
hourdata = hourdata.sort_index()
hourdata



import matplotlib.pyplot as plt
import numpy as np



#그래프 사이즈
plt.figure(figsize=(10,5))
plt.rc('font', family='NanumBarunGothic')
#그래프 x축 y축
plt.bar(weekdata.index, weekdata)



#그래프 명
plt.title('요일별 수강 완료 수강생 수')



#그래프 x축 레이블
plt.xlabel('요일')



#그래프 y축 레이블
plt.ylabel('수강생(명)')



#x축 레이블을 90도로 변환 
plt.xticks(rotation=90)



#그래프 출력
plt.show()



#그래프 사이즈 변경
plt.figure(figsize=(10,5))
plt.rc('font', family='NanumBarunGothic')
#그래프 x축 y축
plt.plot(hourdata.index, hourdata)



#그래프 명
plt.title('시간별 수강 완료 사용자 수')



#그래프 x축 레이블
plt.xlabel('시간')



#그래프 y축 레이블
plt.ylabel('사용자(명)')



#x축 눈금 표시 하기
plt.xticks(np.arange(24))



#그래프 출력
plt.show()



#피벗테이블 만들기



#values : 열에 들어 가는 부분
#index : 행에 들어가는 부분
#aggfunc : 데이터 축약시 사용할 함수



sparta_data_pivot_table = pd.pivot_table(sparta_data, values='user_id', 
                       index=['access_date_time_weekday'],
                       columns=['access_date_time_hour'], 
                       aggfunc="count").agg(weeks)
sparta_data_pivot_table



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