code: def __init__(
      self,
      func=None,
      axis=None,
      convert_dtype=None,
      raw=None,
      result_type=None,
      args=None,
      kwds=None,
      output_type=None,
      elementwise=None,
      logic_key=None,
      func_key=None,
      need_clean_up_func=False,
      **kw,
  ):
      if output_type:
          kw["_output_types"] = [output_type]
      super().__init__(
          _func=func,
          _axis=axis,
          _convert_dtype=convert_dtype,
          _raw=raw,
          _result_type=result_type,
          _args=args,
          _kwds=kwds,
          _elementwise=elementwise,
          _logic_key=logic_key,
          _func_key=func_key,
          _need_clean_up_func=need_clean_up_func,
          **kw,
      )
  
imports: import inspect
  import numpy
  import pandas
  from ...None import opcodes
  from ...config import options
  from ...core import OutputType, recursive_tile
  from ...core.custom_log import redirect_custom_log
  from ...core.operand import OperatorLogicKeyGeneratorMixin
  from ...serialization.serializables import StringField, AnyField, BoolField, TupleField, DictField, FunctionField
  from ...utils import enter_current_session, quiet_stdio, get_func_token, tokenize
  from ..arrays import ArrowArray
  from ..operands import DataFrameOperandMixin, DataFrameOperand
  from ..utils import build_df, build_series, parse_index, validate_axis, validate_output_types, make_dtypes, make_dtype, build_empty_df, build_empty_series, clean_up_func, restore_func
label_desc: Use image node_id 1 to create a new ApplyOperand object from inherited base classes: DataFrameOperand, DataFrameOperandMixin, ApplyOperandLogicKeyGeneratorMixin with example: obj = ApplyOperand(func, axis, convert_dtype, raw, result_type, args, kwds, output_type, elementwise, logic_key, func_key, need_clean_up_func)