code: def transform_single(self, data, center, i=0):
          
  
          lowerbounds, upperbounds = center - self.radius_, center + self.radius_
  
          # Slice the hypercube
          entries = (data[:, self.di_] >= lowerbounds) & (
              data[:, self.di_] <= upperbounds
          )
          hypercube = data[np.invert(np.any(entries == False, axis=1))]
  
          if self.verbose > 1:
              print(
                  "There are %s points in cube %s/%s"
                  % (hypercube.shape[0], i + 1, len(self.centers_))
              )
  
          return hypercube
docs: Compute entries of `data` in hypercube centered at `center`
  
          Parameters
          ===========
  
          data: array-like
              Data to find in entries in cube. Warning: first column must be index column.
          center: array-like
              Center points for the cube. Cube is found as all data in `[center-self.radius_, center+self.radius_]`
          i: int, default 0
              Optional counter to aid in verbose debugging.