code: def __str__(self) -> str:
      val = "DataManager : " + self.name + "\ninfo:\n"
      for item in self.info:
          val = val + "\t" + item + " = " + str(self.info[item]) + "\n"
      val = val + "data:\n"
  
      for subset in self.data:
          val = val + "\t%s = %s %s %s\n" % (
              subset,
              type(self.data[subset]),
              str(self.data[subset].shape),
              str(self.data[subset].dtype),
          )
          if isinstance(self.data[subset], scipy.sparse.spmatrix):
              val = val + "\tdensity: %f\n" % (
                  float(len(self.data[subset].data))
                  / self.data[subset].shape[0]
                  / self.data[subset].shape[1]
              )
      val = val + "feat_type:\t" + str(self.feat_type) + "\n"
      return val
  
file_path: auto-sklearn/autosklearn/data/abstract_data_manager.py
imports: import abc
  from typing import Any, Dict, Union
  import numpy
  import scipy.sparse
  from autosklearn.pipeline.components.data_preprocessing.feature_type import FeatTypeSplit
label_desc: Use image node_id 10 for calling the AbstractDataManager obj's underlying member method code with example usage: obj.__str__() and returns: val