Today i learned & Week i learned/파이썬 관련

[스파르타코딩클럽] 직장인을 위한 실전 데이터분석 _ 3-4

데분조 2023. 12. 20. 15:37
반응형

이전 내용

 

[스파르타코딩클럽] 직장인을 위한 실전 데이터분석 _ 3-3

요일 별 접속한 수강생 수 구하기 weeks = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'] # 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'가 담겨있는 # weeks라는 리스트 생

datanaly.tistory.com

 

데이터 시각화

 

라이브러리 가져오기

import matplotlib.pyplot as plt
# matplotlib 라이브러리를 가져오고 plt라고 부를거야.

import numpy as np
# numpy 라이브러리를 가져오고 np라고 부를거야.

 

plt.figure(figsize=(10,5))
#그래프 사이즈 -> 가로:10, 세로:5

plt.bar(weekdata.index, weekdata)
#그래프 x축: weekdata.index,  y축: weekdata

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

plt.xlabel('요일')
#그래프 x축 명

plt.ylabel('수강생(명)')
#그래프 y축 명
 
plt.xticks(rotation=90)
#x축 명을 90도로 회전

plt.show()
#그래프 출력하기!

 

출력 결과


 

plt.figure(figsize=(10,5))
#그래프 사이즈 가로 : 10, 세로 : 5 

plt.plot(hourdata.index, hourdata)
# plt.plot : 선 그래프 생성
# plt.bar : 바 그래프 생성
#그래프 x값 : hourdata.index,  y값 : hourdata 

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

plt.xlabel('시간')
#그래프 x축 명

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

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

plt.show()
#그래프 출력하기

 

출력 결과

plt.xticks(np.arange(24))로 눈금 표시를 하지 않았을 때


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)
                       
#1 sparta_data_pivot_table = pd.pivot_table()
# -> sparta_data_pivot_table라는 판다스 피벗 테이블을 만들거야.
# -> pd.pivot_table() 피벗 테이블 만드는 메소드

#2 pd.pivot_table(sparta_data)
#-> 피벗할 데이터프레임은 sparta_data이다.

#3 values='user_id'
# -> 데이터로 사용할 열은 'user_id'

#4 index=['access_date_time_weekday'] 
# -> 행 위치에 들어갈 열은 'access_date_time_weekday'

#4 columns=['access_date_time_hour']
# -> 열 위치에 들어갈 열은 'access_date_time_hour'

#5 aggfunc="count"
# -> 데이터 축약시 사용할 함수는 "count"

#6 .agg(weeks)
# weeks list 순서에 맞춰 데이터 표시

sparta_data_pivot_table
# sparta_data_pivot_table 출력

출력 내용

 

.agg(weeks)를 빼고 출력했을 때

 


히트맵 생성

plt.figure(figsize=(14,5))
# 그래프 사이즈 가로 : 14, 세로 : 5

plt.pcolor(sparta_data_pivot_table)
# sparta_data_pivot_table를 이용하여 히트맵 생성
# plt.pcolor() -> 피벗테이블 데이터를 이용하여 히트맵 그리기
 
plt.xticks(np.arange(0.5, len(sparta_data_pivot_table.columns), 1), sparta_data_pivot_table.columns)
#1 np.arange(0.5, len(sparta_data_pivot_table.columns), 1)
#2 -> 0.5부터 len(sparta_data_pivot_table.columns)까지 간격은 1인 범위
# plt.xticks(a,b) -> a :x축 눈금 간격 값, b : x축 눈금 명
# np.arrange(a,b,c) -> a : 시작점, b : 끝점, c : 간격

plt.yticks(np.arange(0.5, len(sparta_data_pivot_table.index), 1), sparta_data_pivot_table.index)
#1 np.arange(0.5, len(sparta_data_pivot_table.index), 1)
#2 -> 0.5부터 len(sparta_data_pivot_table.index)까지 간격은 1인 범위
# plt.xticks(a,b) -> a :y축 눈금 간격 값, b : y축 눈금 명
# np.arrange(a,b,c) -> a : 시작점, b : 끝점, c : 간격

plt.title('요일별 종료 시간 히트맵')
#상단 그래프 명 설정

plt.xlabel('시간')
#그래프 x축 명 설정

plt.ylabel('요일')
#그래프 y축 명 설정

plt.colorbar()
# 그래프 옆에 숫자별 색상값을 나타내는 컬러바를 보여줘

plt.show()
# 히트맵을 보여줘

출력 값


np.arange() 출력값


sparta_data_pivot_table의 index,column값

 

다음 내용

 

[스파르타코딩클럽] 직장인을 위한 실전 데이터분석 _ 3-5

제품 수요가 많은 지역을 찾아라! _ 라인 그래프 그리기 import pandas as pd # 판다스 라이브러리를 가져오는데 pd라고 부르겠다. import matplotlib.pyplot as plt # 맷플롯립 라이브러리를 가져오는데 plt라고

datanaly.tistory.com

 

반응형