code: def _tile_dataframe(cls, op):
      df = DataFrame(op.input)
      out = op.outputs[0]
      dtypes = out.dtypes
      columns = dtypes.index.tolist()
  
      if df.chunk_shape[1] > 1:
          df = df.rechunk({1: df.shape[1]})
  
      # check dtypes if selected all fields
      # to reduce graph scale
      if df.dtypes.index.tolist() != columns:
          df = df[columns]
  
      # calculate percentiles
      percentiles = None
      if len(op.percentiles) > 0:
          if has_unknown_shape(*op.inputs):
              yield
          percentiles = yield from recursive_tile(
              df.quantile(op.percentiles)
          )
  
      # perform aggregation together
      aggregation = yield from recursive_tile(
          df.agg(["count", "mean", "std", "min", "max"])
      )
  
      chunk_op = DataFrameDescribe(
          output_types=op.output_types,
          stage=OperandStage.agg,
          percentiles=op.percentiles,
      )
      chunk_params = out.params.copy()
      chunk_params["index"] = (0, 0)
      in_chunks = aggregation.chunks
      if percentiles is not None:
          in_chunks += percentiles.chunks
      out_chunk = chunk_op.new_chunk(in_chunks, kws=[chunk_params])
  
      new_op = op.copy()
      params = out.params.copy()
      params["chunks"] = [out_chunk]
      params["nsplits"] = tuple((s,) for s in out.shape)
      return new_op.new_tileables(op.inputs, kws=[params])
  
imports: import numpy
  import pandas
  from ...None import opcodes
  from ...None import tensor
  from ...core import recursive_tile
  from ...core.operand import OperandStage
  from ...serialization.serializables import FieldTypes, KeyField, ListField, AnyField
  from ...utils import lazy_import, has_unknown_shape
  from ..core import SERIES_TYPE
  from ..initializer import DataFrame, Series
  from ..operands import DataFrameOperand, DataFrameOperandMixin
  from ..utils import parse_index, build_empty_df
label_desc: Use image node_id 11 for calling the DataFrameDescribe obj's underlying member method code with example usage: obj._tile_dataframe(cls, op) and returns: new_op