class_docstr: Class defining categorical distribution type functionality
docstr: Update tabu_nodes taking into account expanded columns.
  
  Args:
      tabu_nodes: The original tabu_nodes.
  
  Returns:
      Preprocessed tabu_nodes.
docstr_tok: ["Update","tabu_nodes","taking","into","account","expanded","columns",".","Args",":","tabu_nodes",":","The","original","tabu_nodes",".","Returns",":","Preprocessed","tabu_nodes","."]
code: def preprocess_tabu_nodes(self, tabu_nodes: List[int]) -> List[int]:
      """
      Update tabu_nodes taking into account expanded columns.
  
      Args:
          tabu_nodes: The original tabu_nodes.
  
      Returns:
          Preprocessed tabu_nodes.
      """
      return self.update_tabu_nodes(
          idx_group=self.idx_group, tabu_nodes=tabu_nodes
      )
  
imports: from copy import deepcopy
  from typing import Dict, List, Tuple
  import numpy
  import torch
  from sklearn.preprocessing import OneHotEncoder
  from torch import nn
  from causalnex.structure.pytorch.dist_type._base import DistTypeBase, ExpandColumnsMixin
  from causalnex.structure.structuremodel import StructureModel
label_desc: Use image node_id 4 for calling the DistTypeCategorical obj's underlying member method code with example usage: obj.preprocess_tabu_nodes(tabu_nodes) and returns: self