구인구직 관련 날짜 데이터를 달력 형태로 시각화하고, 공고수가 많은 날에 따라 강도를 다르게 표기해보려고 한다.
구인구직과 관련된 데이터를 크롤링해서 사용하였으며, 공고시작일/공고마감일/공고일수의 총 3가지 데이터를 사용하였다.(구체적인 데이터는 프로젝트 완료 후 리뷰 예정)
아래와 같이 datetime 형식이 아닌 object 형식으로 표기되어있어, 공고시작일과 공고마감일로 분리하는 전처리를 진행했다.
from datetime import datetime
import time
# ~를 기준으로 공고시작일과 공고마감일 분리
job_recruit['공고시작일'] = job_recruit.공고기간.str.split('~').str[0]
job_recruit['공고마감일'] = job_recruit.공고기간.str.split('~').str[1]
#Y/M/d 형식의 datetime형태로 변환하기 위해, '22년'으로 표기되어있는 Y를 '2022'로 변환해주었다.
job_recruit['공고시작일'] = '20' + job_recruit['공고시작일']
job_recruit['공고마감일'] = '20' + job_recruit['공고마감일']
# 공고시작, 마감일을 datetime으로 형태변환
for i in range(len(job_recruit)) :
job_recruit['공고시작일'].loc[i] = job_recruit['공고시작일'].loc[i].replace(" ", "")
job_recruit['공고마감일'].loc[i] = job_recruit['공고마감일'].loc[i].replace(" ", "")
job_recruit['공고시작일'].loc[i] = datetime.strptime(job_recruit['공고시작일'].loc[i], "%Y.%m.%d")
job_recruit['공고마감일'].loc[i] = datetime.strptime(job_recruit['공고마감일'].loc[i], "%Y.%m.%d")
#공고가 얼마동안에 진행되는지 파악하기 위한 '공고일수' 컬럼 생성
job_recruit['공고일수'] = job_recruit['공고마감일'] - job_recruit['공고시작일']
전처리 결과는 다음과 같다. 해당 데이터를 이용하여 공고시작일을 표시한 공고달력을 만들어보자.
시각화할 변수(공고시작일) 데이터 유형을 날짜로 변경한다.
열 : 년월(공고시작일), 요일(공고시작일)
행 : 주(공고시작일)
ctrl을 누르고 시트에 드롭하면 다음과 같은 화면이 나온다(mac은 option + 드롭)
동일하게 '일(공고시작일)'을 마크에 드롭하고 레이블을 눌러 텍스트를 가로-우측정렬, 세로-위정렬 로 바꾼다.
테이블에 있는 '날짜'를 마우스 우클릭하고 '열에 대한 필드 레이블 숨기기'를 클릭한다. 행에 있는 '주(공고시작일)'을 클릭하여 머리글 표시 또한 해제한다.
데이터의 수(카운트)를 색상으로 드롭하면 마무리된다.
시트 컬러를 변경해준 결과는 다음과 같았다.