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에서 날짜로부터 월을 추출하는 방법