class_docstr: `ConcatedEncodedDs` abstracts over multiple encoded datasources (`EncodedDs`) as if they were a single entity.
class_docstr_tok: ["`","ConcatedEncodedDs","`","abstracts","over","multiple","encoded","datasources","(","`","EncodedDs","`",")","as","if","they","were","a","single","entity","."]
code: def __init__(self, encoded_ds_arr: List[EncodedDs]) -> None:
      # @TODO: missing super() call here?
      self.encoded_ds_arr = encoded_ds_arr
      self.encoded_ds_lengths = [len(x) for x in self.encoded_ds_arr]
      self.encoders = self.encoded_ds_arr[0].encoders
      self.encoder_spans = self.encoded_ds_arr[0].encoder_spans
      self.target = self.encoded_ds_arr[0].target
      self.data_frame = pd.concat(
          [x.data_frame for x in self.encoded_ds_arr]
      )
  
imports: import inspect
  from typing import List, Tuple, Dict
  import torch
  import numpy
  import pandas
  from torch.utils.data import Dataset
  from lightwood.encoder.base import BaseEncoder
label_desc: Use image node_id 1 to create a new ConcatedEncodedDs object from inherited base classes: EncodedDs with example: obj = ConcatedEncodedDs(encoded_ds_arr)