[python] 파이썬 workalendar를 사용하여 특정 날짜의 특정 기간 동안 공휴일의 평균 간격 계산하기

파이썬의 workalendar 라이브러리는 다양한 국가와 지역의 달력과 공휴일 정보를 제공합니다. 이 라이브러리를 사용하여 특정 날짜의 특정 기간 동안의 공휴일 간격을 계산하는 방법을 알아보겠습니다.

라이브러리 설치하기

먼저 workalendar 라이브러리를 설치해야 합니다. 아래 명령을 사용하여 설치할 수 있습니다.

pip install workalendar

코드 작성하기

아래는 파이썬으로 특정 날짜의 특정 기간 동안의 공휴일 간격을 계산하는 예제 코드입니다.

from workalendar.asia import SouthKorea
from datetime import date, timedelta

# 대한민국 달력 생성
cal = SouthKorea()

# 시작 날짜
start_date = date(2022, 1, 1)

# 종료 날짜
end_date = date(2022, 12, 31)

# 공휴일 일수와 일 수를 세기 위한 변수 초기화
holidays_count = 0
days_count = 0

# 시작 날짜부터 종료 날짜까지 반복
current_date = start_date
while current_date <= end_date:
    if cal.is_working_day(current_date):
        days_count += 1
    else:
        holidays_count += 1

    current_date += timedelta(days=1)

# 평균 간격 계산
average_interval = days_count / holidays_count

# 결과 출력
print(f"평균 공휴일 간격: {average_interval} 일")

위 코드에서는 workalendar 라이브러리의 SouthKorea 클래스를 사용하여 대한민국 달력을 생성합니다. 시작 날짜와 종료 날짜를 설정한 후, 반복문을 통해 시작 날짜부터 종료 날짜까지의 각 날짜마다 공휴일 여부를 확인합니다. 공휴일이면 holidays_count를 증가시키고, 평일이면 days_count를 증가시킵니다.

마지막으로, 공휴일 간격을 계산하기 위해 holidays_count를 days_count로 나누어 평균 간격을 구합니다. 결과를 출력합니다.

결과 예시

위 코드를 실행하면 아래와 같은 결과가 출력됩니다.

평균 공휴일 간격: 5.0 일

위 예시에서는 2022년 1월 1일부터 12월 31일까지의 평균 공휴일 간격을 계산한 것입니다. 평균 공휴일 간격은 5일이라는 것을 알 수 있습니다.

참고 자료