Pandas: 시작일과 종료일 사이의 영업일 구하기


다음 방법을 사용하여 Pandas에서 근무일을 얻을 수 있습니다.

방법 1: 영업일 가져오기(주말 제외)

 business_days = pd. bdate_range (' 2022-01-01 ', ' 2022-12-31 ')

방법 2: 영업일 확인(모든 주말 연방 공휴일 제외)

 from pandas. tseries . holiday import USFederalHolidayCalendar
from pandas. tseries . offsets import CustomBusinessDay

#define US business days
us_bus = CustomBusinessDay(calendar=USFederalHolidayCalendar())

#get all business days between certain start and end dates
us_business_days = pd. bdate_range (' 2022-01-01 ', ' 2022-12-31 ', freq=us_bus)

다음 예에서는 각 방법을 실제로 사용하는 방법을 보여줍니다.

예시 1: 영업일 가져오기(모든 주말 제외)

팬더에서 두 날짜 사이의 영업일 목록을 얻는 한 가지 방법은 bdate_range() 함수를 사용하는 것입니다.

이 함수는 주말을 제외하고 시작일과 종료일 사이의 일수만 계산합니다.

예를 들어, 다음 구문을 사용하여 2022년 1월 1일부터 2022년 12월 31일 사이의 영업일 수를 계산할 수 있습니다.

 import pandas as pd

#get all business days between certain start and end dates
business_days = pd. bdate_range (' 2022-01-01 ', ' 2022-12-31 ')

#view first ten business days
print (business_days[0:10])

DatetimeIndex(['2022-01-03', '2022-01-04', '2022-01-05', '2022-01-06',
               '2022-01-07', '2022-01-10', '2022-01-11', '2022-01-12',
               '2022-01-13', '2022-01-14'],
              dtype='datetime64[ns]', freq='B')

#view total number of business days
len (business_days)

260

business_days 라는 개체에는 지정된 시작 날짜와 종료 날짜 사이의 각 영업일이 포함됩니다.

그리고 len() 함수를 사용하면 지정된 시작 날짜와 종료 날짜 사이의 총 근무일 수가 260 이라는 것을 알 수 있습니다.

예시 2: 영업일 가져오기(모든 주말 연방 공휴일 제외)

주말과 연방 공휴일을 모두 제외하고 pandas에서 두 날짜 사이의 영업일 목록을 얻으려면 pandas tseries 모듈 기능을 사용해야 합니다.

예를 들어, 다음 구문을 사용하여 2022년 1월 1일부터 2022년 12월 31일 사이의 영업일(주말과 공휴일을 제외한 모든 날)을 계산할 수 있습니다.

 from pandas. tseries . holiday import USFederalHolidayCalendar
from pandas. tseries . offsets import CustomBusinessDay

#define US business days
us_bus = CustomBusinessDay(calendar=USFederalHolidayCalendar())

#get all business days between certain start and end dates
us_business_days = pd. bdate_range (' 2022-01-01 ', ' 2022-12-31 ', freq=us_bus)

#view first ten business days
print (us_business_days[0:10])

DatetimeIndex(['2022-01-03', '2022-01-04', '2022-01-05', '2022-01-06',
               '2022-01-07', '2022-01-10', '2022-01-11', '2022-01-12',
               '2022-01-13', '2022-01-14'],
              dtype='datetime64[ns]', freq='C')

#view total number of business days
len (us_business_days)

250

us_business_days 라는 개체에는 지정된 시작 날짜와 종료 날짜 사이의 모든 영업일(주말과 공휴일을 제외한 모든 날)이 포함됩니다.

그리고 len() 함수를 사용하면 지정된 시작 날짜와 종료 날짜 사이의 총 근무일 수가 250 이라는 것을 알 수 있습니다.

추가 리소스

다음 튜토리얼에서는 Pandas에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.

Pandas에서 날짜에 일수를 더하고 빼는 방법
Pandas에서 DateTime을 날짜로 변환하는 방법
Pandas에서 날짜로부터 월을 추출하는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다