본문 바로가기
정보모음

Python workday 함수 활용 방법과 예제 코드

by 프레스토루 2024. 4. 15.

1. workday 함수란

 

1.-workday-함수란

 

 

## 1. workday 함수란

 

workday 함수는 주어진 시작 날짜로부터 지정된 일 수만큼의 영업일 날짜를 계산하는 파이썬 함수입니다. 영업일은 평일(월요일부터 금요일)을 의미하며 주말 및 공휴일은 제외됩니다.

 

이 함수를 사용하면 특정 작업을 수행하기 위해 필요한 일 수를 고려하여 예상 완료일을 계산할 수 있습니다. 주로 업무 일정, 프로젝트 일정, 운송 일정 등을 계획할 때 유용하게 활용됩니다.

 

아래는 workday 함수의 기본적인 사용 방법과 예제 코드입니다.

 

```python

 

from workdays import workday

 

from datetime import date

 

start_date = date(2022, 10, 1)

 

days_to_add = 5

 

end_date = workday(start_date, days_to_add)

 

print(end_date)

 

```

 

위 코드를 실행하면 2022년 10월 1일부터 5영업일 후의 날짜가 계산되어 출력됩니다. 이를 통해 특정 작업이 예상 완료되는 날짜를 알 수 있습니다.

 

 

 

2. workday 함수의 기능

 

2.-workday-함수의-기능

 

 

workday 함수는 특정 날짜부터 지정된 영업일 수만큼 이후의 날짜를 계산하는 기능을 제공합니다. 이 함수를 사용하면 주말이나 공휴일을 제외한 실제 근무일을 파악할 수 있습니다. 따라서 업무 일정이나 휴가 계획 등을 세울 때 유용하게 활용할 수 있습니다.

 

아래는 workday 함수의 기본적인 사용 방법입니다.

 

```python

 

from workdays import workday

 

import datetime

 

start_date = datetime.date(2022, 6, 1)

 

num_of_workdays = 5

 

end_date = workday(start_date, num_of_workdays)

 

print(end_date)

 

```

 

위 코드에서는 2022년 6월 1일부터 시작해서 5개의 영업일 이후의 날짜를 계산하여 end_date 변수에 저장하고 출력하는 예제입니다. 이를 응용하여 본인의 업무 환경에 맞게 날짜 계산 기능을 활용할 수 있습니다.

 

 

 

3. workday 함수 활용 방법

 

3.-workday-함수-활용-방법

 

 

workday 함수는 주어진 날짜로부터 일정 기간 이후의 업무일을 계산해주는 함수입니다. 이 함수를 활용하기 위해서는 datetime 모듈을 import해야 합니다.

 

다음은 workday 함수의 기본 형식입니다.

 

```python

 

import datetime

 

from workdays import workday

 

start_date = datetime.date(2022, 8, 1)

 

num_workdays = 5

 

end_date = workday(start_date, num_workdays)

 

print(end_date)

 

```

 

위 코드에서 `start_date`는 시작 날짜를 나타내며, `num_workdays`는 추가하고자 하는 업무일 수를 의미합니다. `workday` 함수는 시작 날짜로부터 지정한 업무일 수만큼 이후의 날짜를 계산하여 반환합니다.

 

예를 들어, 위 코드에서 시작 날짜가 2022년 8월 1일이고 추가하고자 하는 업무일 수가 5일이라면, `end_date`에는 2022년 8월 8일이 출력됩니다. 이렇게 workday 함수를 적절히 활용하여 업무 일정을 계획하고 관리할 수 있습니다.

 

 

 

4. workday 함수 예제 코드

 

4.-workday-함수-예제-코드

 

 

### 4. workday 함수 예제 코드

 

```python

 

import datetime

 

import numpy as np

 

import pandas as pd

 

def workday(start_date, end_date, holidays=[]):

 

start = pd.Timestamp(start_date)

 

end = pd.Timestamp(end_date)

 

date_range = pd.date_range(start, end, freq="B")

 

for holiday in holidays:

 

holidays = pd.to_datetime(holidays)

 

date_range = date_range.drop(date_range[date_range.isin(holidays)].index)

 

return date_range

 

# 예제 코드

 

start_date = "2023-01-01"

 

end_date = "2023-01-15"

 

holidays = ["2023-01-03", "2023-01-10"]

 

workdays = workday(start_date, end_date, holidays)

 

print(workdays)

 

```

 

위 예제 코드는 `workday` 함수를 사용하여 특정 기간 동안 주말 및 휴일을 제외한 근무일을 구하는 방법을 보여줍니다. 이 함수는 시작일(`start_date`)부터 종료일(`end_date`)까지의 근무일을 반환하며, 휴일 목록(`holidays`)을 제공할 수 있습니다.

 

위 예제 코드를 실행하면 시작일이 2023년 1월 1일이고 종료일이 2023년 1월 15일인 기간 중에서 2023년 1월 3일과 2023년 1월 10일을 제외한 근무일 목록이 출력됩니다.

 

 

 

5. 결론

 

5.-결론

 

 

이번 글에서는 Python의 workday 함수를 활용하여 특정 날짜부터 일정 기간 동안의 영업일을 계산하는 방법에 대해 알아보았습니다. workday 함수를 활용하면 평일만을 계산할 수 있어 업무일 계산에 매우 유용하게 활용할 수 있습니다. 함수의 매개변수를 적절히 설정하고 반환된 값을 활용하여 업무일 계산에 활용할 수 있습니다. Python을 사용하는 데이터 분석가나 엔지니어라면 workday 함수를 잘 활용하여 효율적으로 업무일을 계산하는 방법을 익히고 실무에서 활용해보시기 바랍니다.