code: def _tile_series(cls, op: "DataFrameAppend"):
      out_series = op.outputs[0]
      inputs = op.inputs
      first_series, others = inputs[0], inputs[1:]
      out_chunks = []
      nsplits = ()
      row_index = 0
      for series in [first_series] + others:
          for c in series.chunks:
              index = (c.index[0] + row_index,)
              iloc_op = SeriesIlocGetItem(indexes=(slice(None),))
              out_chunks.append(
                  iloc_op.new_chunk(
                      [c],
                      shape=c.shape,
                      index=index,
                      index_value=c.index_value,
                      dtype=c.dtype,
                      name=c.name,
                  )
              )
          nsplits += series.nsplits[0]
          row_index += len(series.nsplits[0])
  
      if op.ignore_index:
          yield out_chunks
          out_chunks = standardize_range_index(out_chunks)
  
      nsplits = (tuple(nsplits),)
      new_op = op.copy()
      return new_op.new_seriess(
          op.inputs,
          out_series.shape,
          nsplits=nsplits,
          chunks=out_chunks,
          dtype=out_series.dtype,
          index_value=out_series.index_value,
          name=out_series.name,
      )
  
file_path: mars/mars/dataframe/merge/append.py
imports: import pandas
  from ...None import opcodes
  from ...core import OutputType, recursive_tile
  from ...serialization.serializables import BoolField
  from ..datasource.dataframe import from_pandas
  from ..indexing.iloc import DataFrameIlocGetItem, SeriesIlocGetItem
  from ..utils import parse_index, standardize_range_index
  from ..operands import DataFrameOperand, DataFrameOperandMixin, DATAFRAME_TYPE, SERIES_TYPE
label_desc: Use image node_id 3 for calling the DataFrameAppend obj's underlying member method code with example usage: obj._tile_series(cls, op) and returns: new_op