code: def frame_apply(obj, func, axis=0, broadcast=None,
                  raw=False, reduce=None, result_type=None,
                  ignore_failures=False,
                  args=None, kwds=None):
      
  
      axis = obj._get_axis_number(axis)
      if axis == 0:
          klass = FrameRowApply
      elif axis == 1:
          klass = FrameColumnApply
  
      return klass(obj, func, broadcast=broadcast,
                   raw=raw, reduce=reduce, result_type=result_type,
                   ignore_failures=ignore_failures,
                   args=args, kwds=kwds)
docs: construct and return a row or column based frame apply object