code: def get_dummies(
      data,
      prefix=None,
      prefix_sep="_",
      dummy_na=False,
      columns=None,
      sparse=False,
      drop_first=False,
      dtype=None,
  ):
      """
      Convert categorical variable into dummy/indicator variables.
  
      Parameters
      ----------
      data : array-like, Series, or DataFrame
          Data of which to get dummy indicators.
      prefix : str, list of str, or dict of str, default None
          String to append DataFrame column names.
          Pass a list with length equal to the number of columns
          when calling get_dummies on a DataFrame. Alternatively, `prefix`
          can be a dictionary mapping column names to prefixes.
      prefix_sep : str, default '_'
          If appending prefix, separator/delimiter to use. Or pass a
          list or dictionary as with `prefix`.
      dummy_na : bool, default False
          Add a column to indicate NaNs, if False NaNs are ignored.
      columns : list-like, default None
          Column names in the DataFrame to be encoded.
          If `columns` is None then all the columns with
          `object` or `category` dtype will be converted.
      sparse : bool, default False
          Whether the dummy-encoded columns should be backed by
          a :class:`SparseArray` (True) or a regular NumPy array (False).
      drop_first : bool, default False
          Whether to get k-1 dummies out of k categorical levels by removing the
          first level.
      dtype : dtype, default np.uint8
          Data type for new columns. Only a single dtype is allowed.
  
      Returns
      -------
      DataFrame
          Dummy-coded data.
  
      Examples
      --------
      >>> import mars.dataframe as md
      >>> s = md.Series(list('abca'))
  
      >>> md.get_dummies(s).execute()
         a  b  c
      0  1  0  0
      1  0  1  0
      2  0  0  1
      3  1  0  0
  
      >>> s1 = ['a', 'b', np.nan]
  
      >>> md.get_dummies(s1).execute()
         a  b
      0  1  0
      1  0  1
      2  0  0
  
      >>> md.get_dummies(s1, dummy_na=True).execute()
         a  b  NaN
      0  1  0    0
      1  0  1    0
      2  0  0    1
  
      >>> df = md.DataFrame({'A': ['a', 'b', 'a'], 'B': ['b', 'a', 'c'],
      ...                    'C': [1, 2, 3]})
  
      >>> md.get_dummies(df, prefix=['col1', 'col2']).execute()
         C  col1_a  col1_b  col2_a  col2_b  col2_c
      0  1       1       0       0       1       0
      1  2       0       1       1       0       0
      2  3       1       0       0       0       1
  
      >>> md.get_dummies(pd.Series(list('abcaa'))).execute()
         a  b  c
      0  1  0  0
      1  0  1  0
      2  0  0  1
      3  1  0  0
      4  1  0  0
  
      >>> md.get_dummies(pd.Series(list('abcaa')), drop_first=True).execute()
         b  c
      0  0  0
      1  1  0
      2  0  1
      3  0  0
      4  0  0
  
      >>> md.get_dummies(pd.Series(list('abc')), dtype=float).execute()
           a    b    c
      0  1.0  0.0  0.0
      1  0.0  1.0  0.0
      2  0.0  0.0  1.0
      """
      if columns is not None and not isinstance(columns, list):
          raise TypeError(
              "Input must be a list-like for parameter `columns`"
          )
  
      op = DataFrameGetDummies(
          prefix,
          prefix_sep,
          dummy_na,
          columns,
          sparse,
          drop_first,
          dtype,
      )
  
      return op(data)
  
file_path: mars/mars/dataframe/base/get_dummies.py
imports: import numpy
  import pandas
  from ...core import OutputType, recursive_tile
  from ...serialization.serializables import StringField, BoolField, AnyField, ListField
  from ..core import SERIES_TYPE
  from ..datasource.dataframe import from_pandas
  from ..datasource.series import from_pandas
  from ..initializer import Series
  from ..operands import DataFrameOperand, DataFrameOperandMixin
  from ..reduction.unique import unique
  from ..utils import gen_unknown_index_value
label_desc: Use image node_id 1 for calling a global function with example usage: get_dummies(data, prefix, prefix_sep, dummy_na, columns, sparse, drop_first, dtype) and returns: op