code: def transform(self, X):
          
          check_is_fitted(self, 'initial_imputer_')
  
          X, Xt, mask_missing_values = self._initial_imputation(X)
  
          if self.n_iter == 0:
              return Xt
  
          imputations_per_round = len(self.imputation_sequence_) // self.n_iter
          i_rnd = 0
          if self.verbose > 0:
              print("[IterativeImputer] Completing matrix with shape %s"
                    % (X.shape,))
          start_t = time()
          for it, predictor_triplet in enumerate(self.imputation_sequence_):
              Xt, _ = self._impute_one_feature(
                  Xt,
                  mask_missing_values,
                  predictor_triplet.feat_idx,
                  predictor_triplet.neighbor_feat_idx,
                  predictor=predictor_triplet.predictor,
                  fit_mode=False
              )
              if not (it + 1) % imputations_per_round:
                  if self.verbose > 1:
                      print('[IterativeImputer] Ending imputation round '
                            '%d/%d, elapsed time %0.2f'
                            % (i_rnd + 1, self.n_iter, time() - start_t))
                  i_rnd += 1
  
          Xt[~mask_missing_values] = X[~mask_missing_values]
          return Xt
docs: Imputes all missing values in X.
  
          Note that this is stochastic, and that if random_state is not fixed,
          repeated calls, or permuted input, will yield different results.
  
          Parameters
          ----------
          X : array-like, shape = [n_samples, n_features]
              The input data to complete.
  
          Returns
          -------
          Xt : array-like, shape (n_samples, n_features)
               The imputed input data.