평일과 주말 구분하기

—# 평일과 주말 구분하는 코드

생각보다 분석할 때 평일과 주말을 구분지을 때가 많다. 그래서 프로젝트 진행했을 때 사용했던 코드를 적고자 한다.

먼저 필요한 패키지들이다.

import  pandas  as  pd
import xmltodict
import  requests
import  json
import  numpy  as  np

이 코드는 2017년 이후로 평일 주말을 구분지을 수 있게 해준다. 또한 여기서 주말에 공휴일이 포함된다. 공공데이터포탈에서 한국천문연구원_특일 정보의 오픈 API를 이용하여 진행한다.

def holidays(key):

year_list=[]

for year in  range(2017,datetime.now().year+1):

year_list.append((str(year)))

holidays = pd.DataFrame(columns=['date','name'])

date_list = []

name_list = []

  

for year_ in year_list:

for month in ['01','02','03','04','05','06','07','08','09','10','11','12']:

url = "http://apis.data.go.kr/B090041/openapi/service/SpcdeInfoService/getHoliDeInfo?solYear="+year_+"&solMonth="+month+"&ServiceKey="+key

content = requests.get(url).content

  

dict = xmltodict.parse(content)

jsonString = json.dumps(dict['response']['body'], ensure_ascii = False)

jsonObj = json.loads(jsonString)

if jsonObj['items'] == None:

continue

holi_dict = jsonObj['items']['item']

if  type(holi_dict) == list:

for i in  range(len(holi_dict)):

date_list.append(holi_dict[i]['locdate'])

name_list.append(holi_dict[i]['dateName'])

else:

date_list.append(holi_dict['locdate'])

name_list.append(holi_dict['dateName'])

date_arr = np.array(date_list)

name_arr = np.array(name_list)

holidays['date'] = date_arr

holidays['name'] = name_arr

holidays['date'] = pd.to_datetime(holidays['date'])

holidays['str_date'] = holidays['date'].apply(lambda  x: x.strftime('%Y-%m-%d'))

return holidays.str_date

태그:

카테고리:

업데이트:

댓글남기기