def __getitem__(self, key):
    if isinstance(key, slice):
        if isinstance(key.start, float):
            return self.get_range(key.start, key.stop)
        return DatasetSeries(self._pre_outputs[key], self.parallel)
    o = self._pre_outputs[key]
    if isinstance(o, string_types):
        o = self._load(o, **self.kwargs)
        self._setup_function(o)
    return o
def __getitem__(self, key):
    if isinstance(key, slice):
        if isinstance(key.start, float):
            return self.get_range(key.start, key.stop)
        return DatasetSeries(self._pre_outputs[key], self.parallel)
    o = self._pre_outputs[key]
    if isinstance(o, string_types):
        o = self._load(o, **self.kwargs)
        self._setup_function(o)
    return o