code: def test_xshardstsdataset_scale_unscale(self):
      from sklearn.preprocessing import StandardScaler
  
      scalers = [{0: StandardScaler(), 1: StandardScaler()}]
      df = pd.read_csv(os.path.join(self.resource_path, "multiple.csv"))
      for scaler in scalers:
          shards_multiple = read_csv(
              os.path.join(self.resource_path, "multiple.csv"),
              dtype={"id": np.int64},
          )
          shards_multiple_test = read_csv(
              os.path.join(self.resource_path, "multiple.csv"),
              dtype={"id": np.int64},
          )
  
          tsdata = XShardsTSDataset.from_xshards(
              shards_multiple,
              dt_col="datetime",
              target_col="value",
              extra_feature_col=["extra feature"],
              id_col="id",
          )
          tsdata_test = XShardsTSDataset.from_xshards(
              shards_multiple_test,
              dt_col="datetime",
              target_col="value",
              extra_feature_col=["extra feature"],
              id_col="id",
          )
  
          tsdata.scale(scaler)
          tsdata_test.scale(scaler, fit=False)
  
          def get_local_df(tsdata):
              collected_df = tsdata.shards.collect()
              collected_df = pd.concat(collected_df, axis=0)
              collected_df.reset_index(inplace=True)
              collected_df["datetime"] = df["datetime"]
              del collected_df["index"]
              return collected_df
  
          df_train = get_local_df(tsdata)
          df_test = get_local_df(tsdata_test)
          assert_frame_equal(df_train, df_test)
  
          with pytest.raises(AssertionError):
              assert_frame_equal(df_train, df)
              assert_frame_equal(df_test, df)
  
          tsdata.unscale()
          df_train_unscale = get_local_df(tsdata)
          assert_frame_equal(df_train_unscale, df)
  
imports: import pytest
  import numpy
  import pandas
  import random
  import os
  from unittest import TestCase
  from bigdl.chronos.data import TSDataset
  from bigdl.chronos.utils import LazyImport
  from ...None import op_torch, op_distributed
  from pandas.testing import assert_frame_equal
  from numpy.testing import assert_array_almost_equal
label_desc: Use image node_id 9 for calling the TestXShardsTSDataset obj's underlying member method code with example usage: obj.test_xshardstsdataset_scale_unscale() and returns: collected_df