code: def test_explode_execution(setup, ignore_index):
      explode_kw = {"ignore_index": True} if ignore_index else {}
  
      raw = pd.DataFrame(
          {
              "a": np.random.rand(10),
              "b": [
                  np.random.rand(random.randint(1, 10))
                  for _ in range(10)
              ],
              "c": np.random.rand(10),
              "d": np.random.rand(10),
          }
      )
      df = from_pandas_df(raw, chunk_size=(4, 2))
      r = df.explode("b", ignore_index=ignore_index)
      pd.testing.assert_frame_equal(
          r.execute().fetch(), raw.explode("b", **explode_kw)
      )
  
      series = from_pandas_series(raw.b, chunk_size=4)
      r = series.explode(ignore_index=ignore_index)
      pd.testing.assert_series_equal(
          r.execute().fetch(), raw.b.explode(**explode_kw)
      )
  
imports: import random
  from collections import OrderedDict
  import numpy
  import pandas
  import pytest
  import mars
  from ....config import options, option_context
  from ....dataframe import DataFrame, Series
  from ....tensor import arange, tensor
  from ....tensor.random import rand
  from ....tests.core import require_cudf
  from ....utils import lazy_import, pd_release_version, no_default
  from ...None import eval, cut, qcut, get_dummies
  from ...core import DATAFRAME_OR_SERIES_TYPE
  from ...datasource.dataframe import from_pandas
  from ...datasource.series import from_pandas
  from ...datasource.index import from_pandas
  from ..None import to_gpu, to_cpu
  from ..bloom_filter import filter_by_bloom_filter
  from ..shift import _enable_no_default, _with_column_freq_bug
  from ..to_numeric import to_numeric
  from ..rebalance import DataFrameRebalance
label_desc: Use image node_id 41 for calling a global function with example usage: test_explode_execution(setup, ignore_index) without return types