[python] 파이썬 workalendar를 사용하여 특정 날짜의 공휴일들의 평균 간격 계산하기
파이썬의 workalendar 라이브러리는 다양한 국가의 공휴일 정보를 제공하고, 날짜와 관련된 작업을 수행할 수 있는 도구입니다. 이 라이브러리를 사용하여 특정 날짜의 공휴일들의 평균 간격을 계산하는 방법을 알아보겠습니다.
먼저, workalendar
패키지를 설치해야 합니다. 다음 명령을 사용하여 패키지를 설치합니다.
pip install workalendar
설치가 완료되면, 다음과 같은 코드를 사용하여 특정 날짜의 공휴일들의 평균 간격을 계산할 수 있습니다.
from workalendar.asia import SouthKorea
def calculate_average_holiday_interval(date):
cal = SouthKorea()
holidays = cal.holidays()
holiday_dates = [holiday[0] for holiday in holidays]
holiday_dates.sort()
intervals = []
for i in range(len(holiday_dates) - 1):
interval = (holiday_dates[i + 1] - holiday_dates[i]).days
intervals.append(interval)
average_interval = sum(intervals) / len(intervals)
return average_interval
date = datetime.date(2022, 1, 1)
average_interval = calculate_average_holiday_interval(date)
print(f"The average interval between holidays is {average_interval} days.")
위 코드에서는 workalendar
패키지에서 제공하는 SouthKorea
클래스를 사용하여 대한민국의 공휴일 정보를 가져옵니다. SouthKorea
클래스는 holidays
메서드를 사용하여 공휴일들의 목록을 반환합니다.
반환된 공휴일 목록을 날짜 순으로 정렬한 후, 각 공휴일 간의 간격을 계산합니다. 이러한 간격들을 리스트에 저장한 후, 평균을 계산하여 반환합니다.
위 코드에서는 2022년 1월 1일을 기준으로 평균 공휴일 간격을 계산하고, 결과를 출력합니다.
참고 문서:
- workalendar 문서: https://pypi.org/project/workalendar/
- workalendar Github 페이지: https://github.com/novafloss/workalendar