docstr: Add future observations to the dataset. Returns a copy
docstr_tok: ["Add","future","observations","to","the","dataset",".","Returns","a","copy"]
code: def append(
      self, futr_dataset: "TimeSeriesDataset"
  ) -> "TimeSeriesDataset":
      """Add future observations to the dataset. Returns a copy"""
      if self.indptr.size != futr_dataset.indptr.size:
          raise ValueError(
              "Cannot append `futr_dataset` with different number of groups."
          )
      # Define and fill new temporal with updated information
      len_temporal, col_temporal = self.temporal.shape
      len_futr = futr_dataset.temporal.shape[0]
      new_temporal = torch.empty(
          size=(len_temporal + len_futr, col_temporal)
      )
      new_sizes = np.diff(self.indptr) + np.diff(futr_dataset.indptr)
      new_indptr = np.append(0, new_sizes.cumsum()).astype(np.int32)
      new_max_size = np.max(new_sizes)
  
      for i in range(self.n_groups):
          curr_slice = slice(self.indptr[i], self.indptr[i + 1])
          curr_size = curr_slice.stop - curr_slice.start
          futr_slice = slice(
              futr_dataset.indptr[i], futr_dataset.indptr[i + 1]
          )
          new_temporal[
              new_indptr[i] : new_indptr[i] + curr_size
          ] = self.temporal[curr_slice]
          new_temporal[
              new_indptr[i] + curr_size : new_indptr[i + 1]
          ] = futr_dataset.temporal[futr_slice]
  
      # Define new dataset
      updated_dataset = TimeSeriesDataset(
          temporal=new_temporal,
          temporal_cols=self.temporal_cols.copy(),
          indptr=new_indptr,
          max_size=new_max_size,
          min_size=self.min_size,
          static=self.static,
          y_idx=self.y_idx,
          static_cols=self.static_cols,
          sorted=self.sorted,
      )
  
      return updated_dataset
  
imports: import warnings
  from collections.abc import Mapping
  import numpy
  import pandas
  import pytorch_lightning
  import torch
  import utilsforecast.processing
  from torch.utils.data import Dataset, DataLoader
  from utilsforecast.compat import DataFrame, pl_Series
label_desc: Use image node_id 7 for calling the TimeSeriesDataset obj's underlying member method code with example usage: obj.append(futr_dataset) and returns: updated_dataset