docstr: XShardTSDataset is an abstract of time series dataset with distributed fashion.
  Cascade call is supported for most of the transform methods.
  XShardTSDataset will partition the dataset by id_col, which is experimental.
code: def __init__(self, shards, **schema):
      """
      XShardTSDataset is an abstract of time series dataset with distributed fashion.
      Cascade call is supported for most of the transform methods.
      XShardTSDataset will partition the dataset by id_col, which is experimental.
      """
      self.shards = shards
      self.id_col = schema["id_col"]
      self.dt_col = schema["dt_col"]
      self.feature_col = schema["feature_col"].copy()
      self.target_col = schema["target_col"].copy()
  
      self.numpy_shards = None
  
      self._id_list = list(shards[self.id_col].unique())
  
file_path: analytics-zoo/pyzoo/zoo/chronos/data/experimental/xshards_tsdataset.py
imports: from zoo.orca.data.shard import SparkXShards
  from zoo.chronos.data.utils.utils import _to_list, _check_type
  from zoo.chronos.data.utils.roll import roll_timeseries_dataframe
  from zoo.chronos.data.utils.split import split_timeseries_dataframe
  from zoo.chronos.data.experimental.utils import add_row, transform_to_dict
label_desc: Use image node_id 1 to create a new XShardsTSDataset object  with example: obj = XShardsTSDataset(shards)