docs: def get_resampled_timestamp(self, timestamp):
          """ Takes a list of timestamps and generates new list of timestamps according to ``resample_range``
  
          :param timestamp: list of timestamps
          :type timestamp: list(datetime.datetime)
          :return: new list of timestamps
          :rtype: list(datetime.datetime)
          """
          if self.resample_range is None:
              return timestamp
  
          if not isinstance(self.resample_range, (tuple, list)):
              raise ValueError('Invalid resample_range {}, expected tuple'.format(self.resample_range))
  
          if tuple(map(type, self.resample_range)) == (str, str, int):
              start_date = dateutil.parser.parse(self.resample_range[0])
              end_date = dateutil.parser.parse(self.resample_range[1])
              step = dt.timedelta(days=self.resample_range[2])
              days = [start_date]
              while days[-1] + step < end_date:
                  days.append(days[-1] + step)
  
          elif self.resample_range and np.all([isinstance(date, str) for date in self.resample_range]):
              days = [dateutil.parser.parse(date) for date in self.resample_range]
          elif self.resample_range and np.all([isinstance(date, dt.datetime) for date in self.resample_range]):
              days = [date for date in self.resample_range]
          else:
              raise ValueError('Invalid format in {}, expected strings or datetimes'.format(self.resample_range))
  
          return days