class_docstr: Descriptor data type for Pandas Dataframe
class_docstr_tok: ["Descriptor","data","type","for","Pandas","Dataframe"]
code: def __init__(
      self, columns, column_types=[], column_shapes=[]
  ) -> None:
      super().__init__()
      self.columns = columns
      self.column_types = column_types
      self.column_shapes = column_shapes
  
file_path: evadb/evadb/functions/decorators/io_descriptors/data_types.py
imports: from typing import List, Tuple, Type
  from evadb.catalog.catalog_type import ColumnType, Dimension, NdArrayType
  from evadb.catalog.models.function_io_catalog import FunctionIOCatalogEntry
  from evadb.functions.decorators.io_descriptors.abstract_types import IOArgument, IOColumnArgument
  from evadb.utils.errors import FunctionIODefinitionError
label_desc: Use image node_id 1 to create a new PandasDataframe object from inherited base classes: IOArgument with example: obj = PandasDataframe(columns, column_types, column_shapes)