code: def _call_dataframe(self, a, inputs):
      if self._numeric_only:
          empty_df = build_empty_df(a.dtypes)
          dtypes = empty_df._get_numeric_data().dtypes
      else:
          dtypes = a.dtypes
      if isinstance(self._q, TENSOR_TYPE):
          q_val = self._q
          pd_index = pd.Index([], dtype=q_val.dtype)
          name = None
          store_index_value = False
      else:
          q_val = np.asanyarray(self._q)
          pd_index = pd.Index(q_val)
          name = self._q if q_val.size == 1 else None
          store_index_value = True
      tokenize_objects = (
          a,
          q_val,
          self._interpolation,
          type(self).__name__,
      )
  
      if q_val.ndim == 0 and self._axis == 0:
          index_value = parse_index(
              dtypes.index, store_data=store_index_value
          )
          shape = (len(dtypes),)
          # calc dtype
          dtype = self._calc_dtype_on_axis_1(a, dtypes)
          return self.new_series(
              inputs,
              shape=shape,
              dtype=dtype,
              index_value=index_value,
              name=name or dtypes.index.name,
          )
      elif q_val.ndim == 0 and self._axis == 1:
          index_value = a.index_value
          shape = (len(a),)
          # calc dtype
          dt = tensor_quantile(
              empty(a.shape[1], dtype=find_common_type(list(dtypes))),
              self._q,
              interpolation=self._interpolation,
              handle_non_numeric=not self._numeric_only,
          ).dtype
          return self.new_series(
              inputs,
              shape=shape,
              dtype=dt,
              index_value=index_value,
              name=name or index_value.name,
          )
      elif q_val.ndim == 1 and self._axis == 0:
          shape = (len(q_val), len(dtypes))
          index_value = parse_index(
              pd_index, *tokenize_objects, store_data=store_index_value
          )
          dtype_list = []
          for name in dtypes.index:
              dtype_list.append(
                  tensor_quantile(
                      tensor_from_series(a[name]),
                      self._q,
                      interpolation=self._interpolation,
                      handle_non_numeric=not self._numeric_only,
                  ).dtype
              )
          dtypes = pd.Series(dtype_list, index=dtypes.index)
          return self.new_dataframe(
              inputs,
              shape=shape,
              dtypes=dtypes,
              index_value=index_value,
              columns_value=parse_index(dtypes.index, store_data=True),
          )
      else:
          assert q_val.ndim == 1 and self._axis == 1
          shape = (len(q_val), a.shape[0])
          index_value = parse_index(
              pd_index, *tokenize_objects, store_data=store_index_value
          )
          pd_columns = a.index_value.to_pandas()
          dtype_list = np.full(
              len(pd_columns), self._calc_dtype_on_axis_1(a, dtypes)
          )
          dtypes = pd.Series(dtype_list, index=pd_columns)
          return self.new_dataframe(
              inputs,
              shape=shape,
              dtypes=dtypes,
              index_value=index_value,
              columns_value=parse_index(
                  dtypes.index, store_data=True, key=a.index_value.key
              ),
          )
  
imports: from collections import OrderedDict
  import numpy
  import pandas
  from ...None import opcodes
  from ...core import ENTITY_TYPE, recursive_tile
  from ...serialization.serializables import KeyField, AnyField, StringField, DataTypeField, BoolField, Int32Field
  from ...tensor.core import TENSOR_TYPE, TENSOR_CHUNK_TYPE
  from ...tensor.datasource import empty, tensor, from_series, from_dataframe
  from ...tensor.statistics.quantile import quantile
  from ..operands import DataFrameOperand, DataFrameOperandMixin
  from ..core import DATAFRAME_TYPE
  from ..datasource.from_tensor import series_from_tensor, dataframe_from_tensor
  from ..initializer import DataFrame
  from ..utils import parse_index, build_empty_df, find_common_type, validate_axis
label_desc: Use image node_id 9 for calling the DataFrameQuantile obj's underlying member method code with example usage: obj._call_dataframe(a, inputs) and returns: self, self, self, self