class_docstr: Base data structure of SingleData and MultiData.
  
  NOTE:
  - For performance issue, only **np.floating** is supported in the underlayer data !!!
  - Boolean based on np.floating is also supported. Here are some examples
  
  .. code-block:: python
  
      np.array([ np.nan]).any() -> True
      np.array([ np.nan]).all() -> True
      np.array([1. , 0.]).any() -> True
      np.array([1. , 0.]).all() -> False
class_docstr_tok: ["Base","data","structure","of","SingleData","and","MultiData",".","NOTE",":","-","For","performance","issue",",","only","*","*","np.floating","*","*","is","supported","in","the","underlayer","data","!","!","!","-","Boolean","based","on","np.floating","is","also","supported",".","Here","are","some","examples","..","code-block",":",":","python","np.array","(","[","np.nan","]",")",".any","(",")","-",">","True","np.array","(","[","np.nan","]",")",".all","(",")","-",">","True","np.array","(","[","1.",",","0",".","]",")",".any","(",")","-",">","True","np.array","(","[","1.",",","0",".","]",")",".all","(",")","-",">","False"]
code: def sum(self, axis=None, dtype=None, out=None):
      assert (
          out is None and dtype is None
      ), "`out` is just for compatible with numpy's aggregating function"
      # FIXME: weird logic and not general
      if axis is None:
          return np.nansum(self.data)
      elif axis == 0:
          tmp_data = np.nansum(self.data, axis=0)
          return SingleData(tmp_data, self.columns)
      elif axis == 1:
          tmp_data = np.nansum(self.data, axis=1)
          return SingleData(tmp_data, self.index)
      else:
          raise ValueError(f"axis must be None, 0 or 1")
  
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 14 for calling the IndexData obj's underlying member method code with example usage: obj.sum(axis, dtype, out) and returns: np, SingleData, SingleData