docstr: A data structure of index and numpy data.
  It's used to replace pd.DataFrame due to high-speed.
  
  Parameters
  ----------
  data : Union[list, np.ndarray]
      the dim of data must be 2.
  index : Union[List, pd.Index, Index]
      the index of data.
  columns: Union[List, pd.Index, Index]
      the columns of data.
docstr_tok: ["A","data","structure","of","index","and","numpy","data",".","It","'s","used","to","replace","pd.DataFrame","due","to","high-speed",".","Parameters","--","--","--","--","--","data",":","Union","[","list",",","np.ndarray","]","the","dim","of","data","must","be","2.","index",":","Union","[","List",",","pd.Index",",","Index","]","the","index","of","data",".","columns",":","Union","[","List",",","pd.Index",",","Index","]","the","columns","of","data","."]
code: def __init__(
      self,
      data: Union[int, float, np.number, list] = [],
      index: Union[List, pd.Index, Index] = [],
      columns: Union[List, pd.Index, Index] = [],
  ):
      """A data structure of index and numpy data.
      It's used to replace pd.DataFrame due to high-speed.
  
      Parameters
      ----------
      data : Union[list, np.ndarray]
          the dim of data must be 2.
      index : Union[List, pd.Index, Index]
          the index of data.
      columns: Union[List, pd.Index, Index]
          the columns of data.
      """
      if isinstance(data, pd.DataFrame):
          index, columns, data = data.index, data.columns, data.values
      super().__init__(data, index, columns)
      assert self.ndim == 2
  
imports: from __future__ import annotations
  from typing import Dict, Tuple, Union, Callable, List
  import bisect
  import numpy
  import pandas
label_desc: Use image node_id 1 to create a new MultiData object from inherited base classes: IndexData with example: obj = MultiData(data, index, columns)