code: def add_features_from(self, other):
          
          if self.handle is None or other.handle is None:
              raise ValueError('Both source and target Datasets must be constructed before adding features')
          _safe_call(_LIB.LGBM_DatasetAddFeaturesFrom(self.handle, other.handle))
          return self
docs: Add features from other Dataset to the current Dataset.
  
          Both Datasets must be constructed before calling this method.
  
          Parameters
          ----------
          other : Dataset
              The Dataset to take features from.
  
          Returns
          -------
          self : Dataset
              Dataset with the new features added.