Создайте индекс даты, используя функцию диапазона дат 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])