code: def df_explode(df, column, ignore_index=False):
      """
      Transform each element of a list-like to a row, replicating index values.
  
      Parameters
      ----------
      column : str or tuple
          Column to explode.
      ignore_index : bool, default False
          If True, the resulting index will be labeled 0, 1, …, n - 1.
  
      Returns
      -------
      DataFrame
          Exploded lists to rows of the subset columns;
          index will be duplicated for these rows.
  
      Raises
      ------
      ValueError :
          if columns of the frame are not unique.
  
      See Also
      --------
      DataFrame.unstack : Pivot a level of the (necessarily hierarchical)
          index labels.
      DataFrame.melt : Unpivot a DataFrame from wide format to long format.
      Series.explode : Explode a DataFrame from list-like columns to long format.
  
      Notes
      -----
      This routine will explode list-likes including lists, tuples,
      Series, and np.ndarray. The result dtype of the subset rows will
      be object. Scalars will be returned unchanged. Empty list-likes will
      result in a np.nan for that row.
  
      Examples
      --------
      >>> import mars.tensor as mt
      >>> import mars.dataframe as md
      >>> df = md.DataFrame({'A': [[1, 2, 3], 'foo', [], [3, 4]], 'B': 1})
      >>> df.execute()
                 A  B
      0  [1, 2, 3]  1
      1        foo  1
      2         []  1
      3     [3, 4]  1
  
      >>> df.explode('A').execute()
           A  B
      0    1  1
      0    2  1
      0    3  1
      1  foo  1
      2  NaN  1
      3    3  1
      3    4  1
      """
      op = DataFrameExplode(
          column=column,
          ignore_index=ignore_index,
          output_types=[OutputType.dataframe],
      )
      return op(df)
  
file_path: mars/mars/dataframe/base/explode.py
imports: import numpy
  import pandas
  from ...None import opcodes
  from ...core import OutputType, recursive_tile
  from ...serialization.serializables import AnyField, BoolField
  from ...utils import calc_nsplits
  from ..operands import DataFrameOperand, DataFrameOperandMixin
  from ..utils import parse_index, standardize_range_index
label_desc: Use image node_id 1 for calling a global function with example usage: df_explode(df, column, ignore_index) and returns: op