Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

เขียนฟังก์ชัน Python คำนวณจำนวนวันทำการระหว่างวันที่เริ่มต้นและสิ้นสุด

สมมติว่าคุณมีช่วงวันที่ และต้องการคำนวณจำนวนวันทำการ (business days) ในช่วงนั้น

วิธีที่ 1: ใช้ pd.bdate_range() และ len()

  1. สร้างฟังก์ชัน business_days()
  2. ใช้ pd.bdate_range() กำหนดวันที่เริ่มต้นและสิ้นสุด
  3. ใช้ len() นับจำนวนวันในช่วง

ตัวอย่างโค้ด

import pandas as pd

def business_days():
    dates = pd.bdate_range('2020-01-01', '2020-02-02')
    print("จำนวนวันทำการทั้งหมด:", len(dates))

business_days()

ผลลัพธ์

จำนวนวันทำการทั้งหมด: 23

วิธีที่ 2: ใช้ลูป for นับจำนวนวัน

  1. สร้างฟังก์ชัน
  2. ใช้ pd.bdate_range() สร้างช่วงวันที่ทำการ
  3. ใช้ลูป for วนลูปนับจำนวนวัน

ตัวอย่างโค้ด

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("จำนวนวันทำการทั้งหมด:", count)

business_days()

ผลลัพธ์

จำนวนวันทำการทั้งหมด: 23

หมายเหตุ: pd.bdate_range() จะสร้างช่วงวันที่เฉพาะวันทำการ (วันจันทร์-ศุกร์) โดยอัตโนมัติ วิธีที่ 1 มีประสิทธิภาพมากกว่าเพราะใช้ built-in function