Используйте 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])