[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일을 기준으로 평균 공휴일 간격을 계산하고, 결과를 출력합니다.

참고 문서: