class_docstr: ```
  Tabular preprocessing base class
  ```
class_docstr_tok: ["``","`","Tabular","preprocessing","base","class","``","`"]
code: def _validate_columns(self, df):
      missing_columns = []
      for col in df.columns.values:
          if col not in self.lc and col not in self.pc:
              missing_columns.append(col)
      if len(missing_columns) > 0:
          raise ValueError(
              "df is missing columns: %s" % (missing_columns)
          )
      return
  
imports: from ..None import utils
  from ..imports import *
  from ..preprocessor import Preprocessor
  from numbers import Number
  from types import SimpleNamespace
  from typing import Any, AnyStr, Callable, Collection, Dict, Hashable, Iterator, List, Mapping, NewType, Optional, Sequence, Tuple, TypeVar, Union
  from pandas.api.types import is_categorical_dtype, is_numeric_dtype
label_desc: Use image node_id 6 for calling the TabularPreprocessor obj's underlying member method code with example usage: obj._validate_columns(df) without return types