Computer >> Máy Tính >  >> Lập trình >> Python

Viết một hàm Python để tính tổng số ngày làm việc từ một phạm vi ngày bắt đầu và ngày kết thúc

Giả sử, bạn có date_range ngày và kết quả cho tổng số ngày làm việc là,

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

Giải pháp 1

  • Xác định một hàm dưới dạng business_days ()

  • đặt giá trị bắt đầu của hàm pd.bdate_range () là ‘2020-01-01’ và kết thúc là ‘2020-02-02’ và lưu nó dưới dạng ngày tháng,

dates = pd.bdate_range('2020-01-01','2020-02-02')
  • Tính số ngày bằng len (ngày tháng)

len(dates)

Ví dụ

Hãy kiểm tra đoạn mã sau để hiểu rõ hơn -

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()

Đầu ra

Total number of days: 23

Giải pháp 2

  • Xác định một chức năng

  • đặt giá trị bắt đầu của hàm pd.bdate_range () là ‘2020-01-01’ và kết thúc là ‘2020-02-02’ và lưu nó dưới dạng ngày tháng,

dates = pd.bdate_range('2020-01-01','2020-02-02')
  • Đặt số đếm là 0 và tạo vòng lặp for để truy cập tất cả các giá trị từ các ngày và tự tăng giá trị đếm lên 1

count = 0
   for i in dates:
      count = count + 1
  • Cuối cùng, in số lượng.

Ví dụ

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()

Đầu ra

Total number of days: 23