Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

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

Giả sử bạn cần tính số ngày làm việc (business days - thứ 2 đến thứ 6) giữa hai ngày cho trước.

Giải pháp 1: Sử dụng pd.bdate_range() và len()

  • Định nghĩa hàm business_days().
  • Sử dụng pd.bdate_range() với ngày bắt đầu và kết thúc để tạo chuỗi ngày làm việc.
  • Tính độ dài của chuỗi đó bằng len().
dates = pd.bdate_range('2020-01-01', '2020-02-02')
len(dates)

Ví dụ

import pandas as pd

def business_days():
    dates = pd.bdate_range('2020-01-01', '2020-02-02')
    print("Tổng số ngày làm việc:", len(dates))

business_days()

Kết quả

Tổng số ngày làm việc: 23

Giải pháp 2: Dùng vòng lặp for đếm thủ công

  • Tạo chuỗi ngày làm việc như giải pháp 1.
  • Khởi tạo biến count = 0.
  • Duyệt qua từng ngày trong chuỗi và tăng count lên 1.
count = 0
for i in dates:
    count = count + 1

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("Tổng số ngày làm việc:", count)

business_days()

Kết quả

Tổng số ngày làm việc: 23

Lưu ý: Giải pháp 1 ngắn gọn và hiệu quả hơn. pd.bdate_range() tự động loại bỏ thứ 7, chủ nhật. Bạn cũng có thể tùy chỉnh ngày nghỉ lễ bằng tham số holidays.