code: def concat(cls, datasets, dimensions, vdims):
      dataframes = []
      for key, ds in datasets:
          data = ds.data.copy()
          for d, k in zip(dimensions, key):
              data[d.name] = k
          dataframes.append(data)
      return cls.concat_fn(dataframes)
  
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 7 for calling the PandasInterface obj's underlying member method code with example usage: obj.concat(cls, datasets, dimensions, vdims) and returns: cls