class_docstr: Class for automatic categorical data detection and one hot encoding 
class_docstr_tok: ["Class","for","automatic","categorical","data","detection","and","one","hot","encoding"]
docstr: Update column types after encoding. Categorical columns becomes integer with extension 
docstr_tok: ["Update","column","types","after","encoding",".","Categorical","columns","becomes","integer","with","extension"]
code: def _update_column_types(self, output_data: OutputData):
      """Update column types after encoding. Categorical columns becomes integer with extension"""
      if self.categorical_ids:
          # There are categorical features in the table
          feature_type_ids = (
              output_data.supplementary_data.col_type_ids["features"]
          )
          numerical_columns = feature_type_ids[
              feature_type_ids != TYPE_TO_ID[str]
          ]
  
          # Calculate new binary columns number after encoding
          encoded_columns_number = output_data.predict.shape[1] - len(
              numerical_columns
          )
          numerical_columns = np.append(
              numerical_columns,
              [TYPE_TO_ID[int]] * encoded_columns_number,
          )
  
          output_data.encoded_idx = self.encoded_ids
          output_data.supplementary_data.col_type_ids[
              "features"
          ] = numerical_columns
  
imports: from copy import deepcopy
  from typing import List, Optional
  import numpy
  from sklearn.preprocessing import LabelEncoder, OneHotEncoder
  from fedot.core.data.data import InputData, OutputData
  from fedot.core.data.data_preprocessing import find_categorical_columns
  from fedot.core.operations.evaluation.operation_implementations.implementation_interfaces import DataOperationImplementation
  from fedot.core.operations.operation_parameters import OperationParameters
  from fedot.preprocessing.data_types import TYPE_TO_ID
label_desc: Use image node_id 4 for calling the OneHotEncodingImplementation obj's underlying member method code with example usage: obj._update_column_types(output_data) without return types