Python / Pandas / Numpy - Прямой расчет количества рабочих дней между двумя датами, за исключением праздниковPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Python / Pandas / Numpy - Прямой расчет количества рабочих дней между двумя датами, за исключением праздников

Сообщение Anonymous »

Есть ли лучший /более прямой способ рассчитать это, чем следующее?# 1. Set up the start and end date for which you want to calculate the
# number of business days excluding holidays.

start_date = '01JAN1986'
end_date = '31DEC1987'
start_date = datetime.datetime.strptime(start_date, '%d%b%Y')
end_date = datetime.datetime.strptime(end_date, '%d%b%Y')

# 2. Generate a list of holidays over this period
from pandas.tseries.holiday import USFederalHolidayCalendar
calendar = USFederalHolidayCalendar()
holidays = calendar.holidays(start_date, end_date)
holidays
< /code>

, который дает pandas.tseries.index.dateTimeIndex < /p>

DatetimeIndex(['1986-01-01', '1986-01-20', '1986-02-17', '1986-05-26',
'1986-07-04', '1986-09-01', '1986-10-13', '1986-11-11',
'1986-11-27', '1986-12-25', '1987-01-01', '1987-01-19',
'1987-02-16', '1987-05-25', '1987-07-03', '1987-09-07',
'1987-10-12', '1987-11-11', '1987-11-26', '1987-12-25'],
dtype='datetime64[ns]', freq=None, tz=None)
< /code>

Но вам нужен список для numpy busday_count < /p>

holiday_date_list = holidays.date.tolist()
< /code>

Тогда с и без праздников вы получаете: < /p>

np.busday_count(start_date.date(), end_date.date())
>>> 521

np.busday_count(start_date.date(), end_date.date(), holidays = holiday_date_list)
>>> 501
< /code>

Существуют некоторые другие вопросы, немного похожие, но обычно работающие с сериями Pandas или Dataframes (получите рабочие дни между датой начала и окончания с использованием пандов, подсчитывая рабочие дни между двумя сериями) < /p>

Подробнее здесь: https://stackoverflow.com/questions/302 ... ys-between
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как рассчитать количество рабочих дней между двумя датами с помощью Pandas
    Anonymous » » в форуме Python
    0 Ответы
    21 Просмотры
    Последнее сообщение Anonymous
  • Использование NodaTime Как рассчитать количество минут между двумя датами и временем с учетом рабочих часов и часового п
    Anonymous » » в форуме C#
    0 Ответы
    27 Просмотры
    Последнее сообщение Anonymous
  • Как я могу рассчитать количество рабочих дней между двумя датами
    Anonymous » » в форуме Php
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous
  • Расчет дней между двумя датами с помощью Java
    Anonymous » » в форуме JAVA
    0 Ответы
    27 Просмотры
    Последнее сообщение Anonymous
  • Расчет дней между двумя датами с помощью Java
    Anonymous » » в форуме JAVA
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»