code: def _calc_dtype_on_axis_1(self, a, dtypes):
      quantile_dtypes = []
      for name in dtypes.index:
          dt = tensor_quantile(
              tensor_from_series(a[name]),
              self._q,
              interpolation=self._interpolation,
              handle_non_numeric=not self._numeric_only,
          ).dtype
          quantile_dtypes.append(dt)
      return find_common_type(quantile_dtypes)
  
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 8 for calling the DataFrameQuantile obj's underlying member method code with example usage: obj._calc_dtype_on_axis_1(a, dtypes) and returns: find_common_type