Функция busday_count
Функция busday_count вычисляет количество рабочих дней (будних дней) между двумя заданными датами.
Первым параметром передаётся начальная дата begindates, вторым - конечная дата enddates.
Третьим параметром можно передать массив праздничных дней holidays, а четвёртым - строку с маской выходных weekmask.
По умолчанию выходными считаются суббота и воскресенье.
Синтаксис
np.busday_count(begindates, enddates, holidays=[], weekmask='1111100')
Пример
Базовый подсчёт рабочих дней между двумя датами:
import numpy as np
start = '2026-09-01'
end = '2026-09-09'
res = np.busday_count(start, end)
print(res)
Результат выполнения кода:
6
Пример
Подсчёт рабочих дней с учётом праздничного дня:
import numpy as np
start = '2026-09-01'
end = '2026-09-09'
holidays = ['2026-09-02']
res = np.busday_count(start, end, holidays=holidays)
print(res)
Результат выполнения кода:
5
Пример
Использование массива начальных и конечных дат:
import numpy as np
start_dates = np.array(['2026-09-01', '2026-09-02'])
end_dates = np.array(['2026-09-05', '2026-09-06'])
res = np.busday_count(start_dates, end_dates)
print(res)
Результат выполнения кода:
[4 3]
Пример
Подсчёт с пользовательской маской выходных (рабочие дни - вторник, среда, четверг):
import numpy as np
start = '2026-09-01'
end = '2026-09-10'
weekmask = '0011100'
res = np.busday_count(start, end, weekmask=weekmask)
print(res)
Результат выполнения кода:
4
Смотрите также
-
функцию
is_busday,
которая проверяет, является ли дата рабочим днём -
функцию
busday_offset,
которая смещает дату на указанное количество рабочих дней -
функцию
datetime_as_string,
которая преобразует дату и время в строку -
функцию
busdaycalendar,
которая создаёт объект календаря рабочих дней