code: def add_dimension(cls, dataset, dimension, dim_pos, values, vdim):
      data = dataset.data.copy()
      if dimension.name not in data:
          data.insert(dim_pos, dimension.name, values)
      return data
  
imports: import numpy
  import pandas
  from packaging.version import Version
  from pandas.api.types import is_numeric_dtype
  from ..None import util
  from ..dimension import Dimension, dimension_name
  from ..element import Element
  from ..ndmapping import NdMapping, item_check, sorted_context
  from .interface import DataError, Interface
  from .util import finite_range
label_desc: Use image node_id 18 for calling the PandasInterface obj's underlying member method code with example usage: obj.add_dimension(cls, dataset, dimension, dim_pos, values, vdim) and returns: data