def has_data_for_dates(series_or_df, first_date, last_date):
 dts = series_or_df.index
 if (not isinstance(dts, pd.DatetimeIndex)):
  raise TypeError(('Expected a DatetimeIndex, but got %s.' % type(dts)))
 (first, last) = dts[[0, (-1)]]
 return ((first <= first_date) and (last >= last_date))

def has_data_for_dates ( series_or_df , first_date , last_date ) : dts = series_or_df . index if ( not isinstance ( dts , pd . DatetimeIndex ) ) : raise TypeError ( ( 'Expected a DatetimeIndex, but got %s.' % type ( dts ) ) ) ( first , last ) = dts [ [ 0 , ( - 1 ) ] ] return ( ( first <= first_date ) and ( last >= last_date ) )
does series_or_df have data on or before first_date and on or after last_date? .