Một cách để lấy danh sách ngày làm việc giữa hai ngày trong gấu trúc là sử dụng hàm bdate_range() Điều đáng chú ý là chức năng này chỉ đếm số ngày giữa ngày bắt đầu và ngày kết thúc, không bao gồm ngày cuối tuần Show Ví dụ: chúng ta có thể sử dụng cú pháp sau để đếm số ngày làm việc trong khoảng thời gian từ 1/1/2022 đến 31/12/2022 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 Đối tượng được gọi là business_days chứa mọi ngày làm việc giữa ngày bắt đầu và ngày kết thúc được chỉ định Và bằng cách sử dụng hàm len(), chúng ta thấy rằng tổng số ngày làm việc giữa ngày bắt đầu và ngày kết thúc được chỉ định là 250 Cho trước hai ngày, nhiệm vụ của chúng ta là viết một chương trình Python để tính tổng số ngày làm việc, tôi. e ngày trong tuần giữa hai ngày Thí dụ
Phương pháp 1. Sử dụng timedelta() + sum() + ngày trong tuần() Trong trường hợp này, tất cả các ngày được trích xuất bằng cách sử dụng timedelta(), bằng cách tăng chênh lệch cho đến ngày kết thúc. Đăng rằng, ngày làm việc được lọc bằng ngày trong tuần (), tính tổng tất cả những ngày có giá trị nhỏ hơn 5. tôi. Thứ Hai – Thứ Sáu Python3The original range : 2015-06-03 00:00:00 2015-07-01 00:00:00 Total business days in range : 201 The original range : 2015-06-03 00:00:00 2015-07-01 00:00:00 Total business days in range : 202 The original range : 2015-06-03 00:00:00 2015-07-01 00:00:00 Total business days in range : 203 The original range : 2015-06-03 00:00:00 2015-07-01 00:00:00 Total business days in range : 204 The original range : 2015-06-03 00:00:00 2015-07-01 00:00:00 Total business days in range : 205 The original range : 2015-06-03 00:00:00 2015-07-01 00:00:00 Total business days in range : 206 The original range : 2015-06-03 00:00:00 2015-07-01 00:00:00 Total business days in range : 207 The original range : 2015-06-03 00:00:00 2015-07-01 00:00:00 Total business days in range : 200 The original range : 2015-06-03 00:00:00 2015-07-01 00:00:00 Total business days in range : 201 The original range : 2015-06-03 00:00:00 2015-07-01 00:00:00 Total business days in range : 202 The original range : 2015-06-03 00:00:00 2015-07-01 00:00:00 Total business days in range : 203 The original range : 2015-06-03 00:00:00 2015-07-01 00:00:00 Total business days in range : 204 The original range : 2015-06-03 00:00:00 2015-07-01 00:00:00 Total business days in range : 205 The original range : 2015-06-03 00:00:00 2015-07-01 00:00:00 Total business days in range : 206 The original range : 2015-06-03 00:00:00 2015-07-01 00:00:00 Total business days in range : 207 The original range : 2015-06-03 00:00:00 2015-07-01 00:00:00 Total business days in range : 206 The original range : 2015-06-03 00:00:00 2015-07-01 00:00:00 Total business days in range : 209 The original range : 2015-06-03 00:00:00 2015-07-01 00:00:00 Total business days in range : 2010 The original range : 2015-06-03 00:00:00 2015-07-01 00:00:00 Total business days in range : 205 The original range : 2015-06-03 00:00:00 2015-07-01 00:00:00 Total business days in range : 206 The original range : 2015-06-03 00:00:00 2015-07-01 00:00:00 Total business days in range : 2013 The original range : 2015-06-03 00:00:00 2015-07-01 00:00:00 Total business days in range : 206 The original range : 2015-06-03 00:00:00 2015-07-01 00:00:00 Total business days in range : 2015 The original range : 2015-06-03 00:00:00 2015-07-01 00:00:00 Total business days in range : 2016 The original range : 2015-06-03 00:00:00 2015-07-01 00:00:00 Total business days in range : 200 The original range : 2015-06-03 00:00:00 2015-07-01 00:00:00 Total business days in range : 2018 The original range : 2015-06-03 00:00:00 2015-07-01 00:00:00 Total business days in range : 2019 The original range : 2015-06-03 00:00:00 2015-07-01 00:00:00 Total business days in range : 2010 The original range : 2015-06-03 00:00:00 2015-07-01 00:00:00 Total business days in range : 2011 The original range : 2015-06-03 00:00:00 2015-07-01 00:00:00 Total business days in range : 2012 The original range : 2015-06-03 00:00:00 2015-07-01 00:00:00 Total business days in range : 2013 The original range : 2015-06-03 00:00:00 2015-07-01 00:00:00 Total business days in range : 2014 The original range : 2015-06-03 00:00:00 2015-07-01 00:00:00 Total business days in range : 2012 The original range : 2015-06-03 00:00:00 2015-07-01 00:00:00 Total business days in range : 2016 The original range : 2015-06-03 00:00:00 2015-07-01 00:00:00 Total business days in range : 2012 The original range : 2015-06-03 00:00:00 2015-07-01 00:00:00 Total business days in range : 2013 The original range : 2015-06-03 00:00:00 2015-07-01 00:00:00 Total business days in range : 2019 Làm cách nào để tính ngày làm việc bằng Python trừ ngày nghỉ cuối tuần và ngày lễ?Lấy số ngày làm việc (các ngày trong tuần) giữa hai ngày mà không bị numpy . Đầu tiên, lặp lại từ ngày bắt đầu đến ngày kết thúc một ngày bằng cách sử dụng hàm for loop và range() Sử dụng hàm weekday() để kiểm tra xem ngày đó là ngày trong tuần hay cuối tuần Nếu đó là một ngày trong tuần, sau đó thêm nó vào số lượng In số cuối cùng đó là những ngày nào trong 5 ngày làm việc?Năm ngày làm việc là năm ngày cộng với bất kỳ ngày nào được coi là ngày không làm việc , chẳng hạn như ngày cuối tuần hoặc ngày lễ. Ví dụ: năm ngày làm việc kể từ Thứ Tư thực sự là tổng số bảy ngày vì bạn phải cộng Thứ Bảy và Chủ Nhật (ngày không làm việc) vào số ngày làm việc.
Làm thế nào để tính ngày làm việc trong gấu trúc?Một cách để lấy danh sách ngày làm việc giữa hai ngày trong pandas là sử dụng hàm bdate_range() . Cái này là cái gì? . |