docstr: test inv_transform_ct with multiple encoding and dictionnary
docstr_tok: ["test","inv_transform_ct","with","multiple","encoding","and","dictionnary"]
code: def test_inv_transform_ct_3(self):
      """
      test inv_transform_ct with multiple encoding and dictionnary
      """
      train = pd.DataFrame(
          {
              "city": ["chicago", "paris"],
              "state": ["US", "FR"],
              "other": ["A", "B"],
          },
          index=["index1", "index2"],
      )
  
      enc = ColumnTransformer(
          transformers=[
              ("onehot_ce", ce.OneHotEncoder(), ["city", "state"]),
              ("onehot_skp", skp.OneHotEncoder(), ["city", "state"]),
          ],
          remainder="passthrough",
      )
      enc.fit(train)
      test = pd.DataFrame(
          {
              "city": ["chicago", "chicago", "paris"],
              "state": ["US", "FR", "FR"],
              "other": ["A", "B", "C"],
          },
          index=["index1", "index2", "index3"],
      )
  
      expected = pd.DataFrame(
          {
              "onehot_ce_city": ["CH", "CH", "PR"],
              "onehot_ce_state": ["US-FR", "US-FR", "US-FR"],
              "onehot_skp_city": ["chicago", "chicago", "paris"],
              "onehot_skp_state": ["US", "FR", "FR"],
              "other": ["A-B", "A-B", "C"],
          },
          index=["index1", "index2", "index3"],
      )
  
      result = pd.DataFrame(enc.transform(test))
      result.columns = [
          "col1_0",
          "col1_1",
          "col2_0",
          "col2_1",
          "col3_0",
          "col3_1",
          "col4_0",
          "col4_1",
          "other",
      ]
      result.index = ["index1", "index2", "index3"]
  
      input_dict1 = dict()
      input_dict1["col"] = "onehot_ce_city"
      input_dict1["mapping"] = pd.Series(
          data=["chicago", "paris"], index=["CH", "PR"]
      )
      input_dict1["data_type"] = "object"
  
      input_dict2 = dict()
      input_dict2["col"] = "other"
      input_dict2["mapping"] = pd.Series(
          data=["A", "B", "C"], index=["A-B", "A-B", "C"]
      )
      input_dict2["data_type"] = "object"
  
      input_dict3 = dict()
      input_dict3["col"] = "onehot_ce_state"
      input_dict3["mapping"] = pd.Series(
          data=["US", "FR"], index=["US-FR", "US-FR"]
      )
      input_dict3["data_type"] = "object"
      list_dict = [input_dict2, input_dict3]
  
      original = inverse_transform(
          result, [enc, input_dict1, list_dict]
      )
      pd.testing.assert_frame_equal(original, expected)
  
imports: import unittest
  import pandas
  import numpy
  import category_encoders
  from sklearn.compose import ColumnTransformer
  import sklearn.preprocessing
  import catboost
  import sklearn
  import lightgbm
  import xgboost
  from shapash.utils.transform import inverse_transform
  from shapash.utils.transform import apply_preprocessing
  from shapash.utils.columntransformer_backend import get_feature_names, get_names, get_list_features_names, get_col_mapping_ct
  from sklearn.ensemble import GradientBoostingClassifier
label_desc: Use image node_id 3 for calling the TestInverseTransformColumnsTransformer obj's underlying member method code with example usage: obj.test_inv_transform_ct_3() without return types