class_docstr: Abstract base class for all KBinsDiscretizers.
  
  Essentially a thin wraper around ``pd.cut``.
  
  Expects either ``self.stats_`` or ``self.bins`` to be set and
  contain {column:list_of_bin_intervals}.
class_docstr_tok: ["Abstract","base","class","for","all","KBinsDiscretizers",".","Essentially","a","thin","wraper","around","``","pd.cut","``",".","Expects","either","``","self.stats_","``","or","``","self.bins","``","to","be","set","and","contain","{","column",":","list_of_bin_intervals","}","."]
code: def __repr__(self):
      attr_str = ", ".join(
          [
              f"{attr_name}={attr_value!r}"
              for attr_name, attr_value in vars(self).items()
              if not attr_name.startswith("_")
          ]
      )
      return f"{self.__class__.__name__}({attr_str})"
  
imports: from typing import Dict, Iterable, List, Optional, Type, Union
  import numpy
  import pandas
  from ray.data import Dataset
  from ray.data.aggregate import Max, Min
  from ray.data.preprocessor import Preprocessor
  from ray.util.annotations import PublicAPI
label_desc: Use image node_id 3 for calling the _AbstractKBinsDiscretizer obj's underlying member method code with example usage: obj.__repr__() and returns: self, str, attr_str, str