code: def fit(self, X, y=None, **kwargs):
          
          if X.ndim != 2:
              raise ValueError("expected 2d array, but got %d" % X.ndim)
  
          if self.fit_once:
              self.X_fit_ = X
          else:
              self._prepare_by_column_dtype(X)
  
          return self
docs: Determine transformation parameters from data in X.
  
          Subsequent calls to `transform(Y)` compute the pairwise
          distance to `X`.
          Parameters of the clinical kernel are only updated
          if `fit_once` is `False`, otherwise you have to
          explicitly call `prepare()` once.
  
          Parameters
          ----------
          X: pandas.DataFrame, shape = (n_samples, n_features)
              Data to estimate parameters from.
  
          y : None
              Argument is ignored (included for compatibility reasons).
  
          kwargs : dict
              Argument is ignored (included for compatibility reasons).
  
          Returns
          -------
          self : object
              Returns the instance itself.