code: def get_features_transform_mapping(
      x_init, x_encoded, preprocessing=None
  ):
      """
      Get the columns mapping from preprocessing and add missing columns that are not used or changed in preprocessing.
  
      Parameters
      ----------
      x_init : pd.DataFrame
          Pandas dataframe before preprocessing transformations
      x_encoded : pd.DataFrame
          Pandas dataframe after preprocessing transformations
      preprocessing : category_encoders or ColumnTransformer or list or dict or list of dict
          The processing apply to the original data
  
      Returns
      -------
      dict
          the mapping between columns names before and after preprocessing.
      """
      dict_all_cols_mapping = dict()
      dict_all_cols_mapping.update(
          get_preprocessing_mapping(
              x_encoded=x_encoded, preprocessing=preprocessing
          )
      )
      # Adding columns which name was not changed during preprocessing
      for col_name in x_init.columns:
          if col_name not in dict_all_cols_mapping.keys():
              dict_all_cols_mapping[col_name] = [col_name]
      return dict_all_cols_mapping
  
file_path: shapash/shapash/utils/transform.py
imports: from shapash.utils.columntransformer_backend import columntransformer, inv_transform_ct, supported_sklearn, transform_ct, get_col_mapping_ct
  from shapash.utils.category_encoder_backend import transform_ce, inv_transform_ce, supported_category_encoder, get_col_mapping_ce
  import re
  import numpy
  import pandas
label_desc: Use image node_id 8 for calling a global function with example usage: get_features_transform_mapping(x_init, x_encoded, preprocessing) and returns: dict_all_cols_mapping