Создайте индекс даты, используя функцию диапазона дат pandas, но пропуская выходные дни (суббота и воскресенье)

Я пытаюсь заказать некоторые цены на акции в серии, и хотел бы установить соответствующую дату в качестве индекса. Я сделал что-то подобное для создания индекса:

date_index = pd.date_range('2018-01-01', periods = 30, freq = 'D')

Дело в том, что в моем прайс-листе пропущены даты окончания выходных и не принимаются во внимание субботы и воскресенья.

Как я могу создать индекс, который также пропускает Sat и Sun?

1 ответ

Решение

Использование weekday с фильтрацией:

date_index = pd.date_range('2018-01-01', periods = 30, freq = 'D')
print (date_index[date_index.weekday < 5])
DatetimeIndex(['2018-01-01', '2018-01-02', '2018-01-03', '2018-01-04',
               '2018-01-05', '2018-01-08', '2018-01-09', '2018-01-10',
               '2018-01-11', '2018-01-12', '2018-01-15', '2018-01-16',
               '2018-01-17', '2018-01-18', '2018-01-19', '2018-01-22',
               '2018-01-23', '2018-01-24', '2018-01-25', '2018-01-26',
               '2018-01-29', '2018-01-30'],
              dtype='datetime64[ns]', freq=None)

Если хотите отфильтровать строки с DatetimeIndex:

print (df[df.index.weekday < 5])
Другие вопросы по тегам