code: def _tile_dataframe_series(cls, op: "DataFrameAlign"):
      lhs, rhs = op.lhs, op.rhs
      (
          nsplits,
          left_chunk_shape,
          left_chunks,
          right_chunks,
      ) = align_dataframe_series(lhs, rhs, axis=op.axis)
      cls._check_align_needed(op, left_chunks, right_chunks)
  
      left_chunk_array = np.array(left_chunks, dtype="O").reshape(
          left_chunk_shape
      )
      axis = op.axis if op.broadcast_axis != 1 else 0
      l_chunks, r_chunks = [], []
      iterator = np.nditer(
          left_chunk_array, flags=["refs_ok", "multi_index"]
      )
      for c_obj in iterator:
          c = c_obj.tolist()
          l_index = iterator.multi_index
  
          right_chunk = right_chunks[l_index[axis]]
          kws = [c.params, right_chunk.params]
          kws[0]["index"] = l_index
          if op.broadcast_axis != 1:
              kws[1]["index"] = (l_index[axis],)
          else:
              kws[1]["index"] = l_index
  
          chunk_op = op.copy().reset_key()
          l_chunk, r_chunk = chunk_op.new_chunks(
              [c, right_chunk], kws=kws
          )
  
          l_chunks.append(l_chunk)
          if op.broadcast_axis == 1 or l_index[1 - axis] == 0:
              r_chunks.append(r_chunk)
  
      return nsplits, l_chunks, r_chunks
  
imports: from typing import Any, Optional, Union
  import numpy
  from ...None import opcodes
  from ...core import get_output_types, recursive_tile, OutputType
  from ...serialization.serializables import AnyField, KeyField, StringField, Int16Field, Int64Field
  from ...typing import TileableType
  from ..operands import DataFrameOperand, DataFrameOperandMixin
  from ..align import align_dataframe_dataframe, align_dataframe_series, align_series_series
  from ..core import IndexValue
  from ..utils import validate_axis, parse_index, build_empty_df
label_desc: Use image node_id 12 for calling the DataFrameAlign obj's underlying member method code with example usage: obj._tile_dataframe_series(cls, op) and returns: nsplits,  l_chunks,  r_chunks