code: def iloc(cls, dataset, index):
      rows, cols = index
      if np.isscalar(cols):
          if isinstance(cols, str):
              cols = dataset.get_dimension_index(cols)
          if np.isscalar(rows):
              return dataset.data[rows, cols]
          cols = [dataset.get_dimension_index(cols)]
      elif not isinstance(cols, slice):
          cols = [dataset.get_dimension_index(d) for d in cols]
  
      if np.isscalar(rows):
          rows = [rows]
      data = dataset.data[rows, :][:, cols]
      if data.ndim == 1:
          return np.atleast_2d(data).T
      return data
  
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 18 for calling the ArrayInterface obj's underlying member method code with example usage: obj.iloc(cls, dataset, index) and returns: data, np, dataset