code: def __init__(self, values=None, index=None):
      def index_len():
          # compute the length of the index, intercepting an error to provide a better message
          try:
              return len(index)
          except:
              raise TypeError(
                  f"index: expected a sequence (with a '__len__' method), found {type(index).__name__}"
              )
  
      if values is None:
          if index is None:
              index = range(0)
  
          # uint8 is essentially maximally promotable
          values = zero_sized_array((index_len(), 0), dtype=np.uint8)
  
      if not isinstance(values, np.ndarray):
          raise TypeError(
              f"values: expected a NumPy array for the features, found {type(values).__name__}"
          )
  
      if len(values.shape) < 2:
          raise ValueError(
              f"values: expected an array with shape length >= 2, found shape {values.shape} of length {len(values.shape)}"
          )
  
      values_len = values.shape[0]
  
      if index is None:
          index = range(values_len)
  
      if values_len != index_len():
          raise ValueError(
              f"values: expected the index length {index_len()} to match the first dimension of values, found {values_len} rows"
          )
  
      self.index = index
      self.values = values
  
imports: import numpy
  from .utils import zero_sized_array
label_desc: Use image node_id 1 to create a new IndexedArray object  with example: obj = IndexedArray(values, index)