code: def build_columns(self, X, verbose=False):
          
          X[:, self.feature][:, np.newaxis]
  
          splines = b_spline_basis(X[:, self.feature],
                                   edge_knots=self.edge_knots_,
                                   spline_order=self.spline_order,
                                   n_splines=self.n_splines,
                                   sparse=True,
                                   periodic=self.basis in ['cp'],
                                   verbose=verbose)
  
          if self.by is not None:
              splines = splines.multiply(X[:, self.by][:, np.newaxis])
  
          return splines
docs: construct the model matrix columns for the term
  
          Parameters
          ----------
          X : array-like
              Input dataset with n rows
  
          verbose : bool
              whether to show warnings
  
          Returns
          -------
          scipy sparse array with n rows