Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

시작 날짜와 종료 날짜 범위에서 총 영업일 수를 계산하는 Python 함수 작성

<시간/>

date_range의 날짜가 있고 총 영업일 수에 대한 결과는 다음과 같다고 가정합니다.

Dates are:
DatetimeIndex(['2020-01-01', '2020-01-02', '2020-01-03', '2020-01-06',
               '2020-01-07', '2020-01-08', '2020-01-09', '2020-01-10',
               '2020-01-13', '2020-01-14', '2020-01-15', '2020-01-16',
               '2020-01-17', '2020-01-20', '2020-01-21', '2020-01-22',
               '2020-01-23', '2020-01-24', '2020-01-27', '2020-01-28',
               '2020-01-29', '2020-01-30', '2020-01-31'],
               dtype='datetime64[ns]', freq='B')
Total number of days: 23

해결책 1

  • 함수를 business_days()로 정의

  • pd.bdate_range() 함수 시작 값을 '2020-01-01'로 설정하고 종료를 '2020-02-02'로 설정하고 날짜로 저장,

dates = pd.bdate_range('2020-01-01','2020-02-02')
  • len(dates)을 사용하여 일 수 계산

len(dates)

예시

더 나은 이해를 위해 다음 코드를 확인합시다 -

import pandas as pd
def business_days():
   dates = pd.bdate_range('2020-01-01','2020-02-02')
   print("Total number of days:",len(dates))
business_days()

출력

Total number of days: 23

해결책 2

  • 함수 정의

  • pd.bdate_range() 함수 시작 값을 '2020-01-01'로 설정하고 종료를 '2020-02-02'로 설정하고 날짜로 저장,

dates = pd.bdate_range('2020-01-01','2020-02-02')
  • count를 0으로 설정하고 for 루프를 만들어 날짜의 모든 값에 액세스하고 count 값 자체를 1씩 증가시킵니다.

count = 0
   for i in dates:
      count = count + 1
  • 마지막으로 개수를 인쇄합니다.

예시

import pandas as pd
def business_days():
   dates = pd.bdate_range('2020-01-01','2020-02-02')
   count = 0
   for i in dates:
      count = count + 1
   print("Total number of days:",count)
business_days()

출력

Total number of days: 23