code: def assign(cls, dataset, new_data):
      data = dataset.data.copy()
      for d, arr in new_data.items():
          if dataset.get_dimension(d) is None:
              continue
          idx = dataset.get_dimension_index(d)
          data[:, idx] = arr
      new_cols = [
          arr
          for d, arr in new_data.items()
          if dataset.get_dimension(d) is None
      ]
      return np.column_stack([data] + new_cols)
  
imports: import numpy
  from ..None import util
  from ..dimension import dimension_name
  from ..element import Element
  from ..ndmapping import NdMapping, item_check, sorted_context
  from .interface import DataError, Interface
label_desc: Use image node_id 16 for calling the ArrayInterface obj's underlying member method code with example usage: obj.assign(cls, dataset, new_data) and returns: np