docstr: we have an empty result; at least 1 axis is 0
  
  we will try to apply the function to an empty
  series in order to see if this is a reduction function
code: def apply_empty_result(self):
      """
      we have an empty result; at least 1 axis is 0
  
      we will try to apply the function to an empty
      series in order to see if this is a reduction function
      """
  
      # we are not asked to reduce or infer reduction
      # so just return a copy of the existing object
      if self.result_type not in ["reduce", None]:
          return self.obj.copy()
  
      # we may need to infer
      reduce = self.result_type == "reduce"
  
      from pandas import Series
  
      if not reduce:
          EMPTY_SERIES = Series([])
          try:
              r = self.f(EMPTY_SERIES, *self.args, **self.kwds)
              reduce = not isinstance(r, Series)
          except Exception:
              pass
  
      if reduce:
          return self.obj._constructor_sliced(
              np.nan, index=self.agg_axis
          )
      else:
          return self.obj.copy()
  
imports: import warnings
  import numpy
  from pandas._libs import reduction
  import pandas.compat
  from pandas.util._decorators import cache_readonly
  from pandas.core.dtypes.common import is_dict_like, is_extension_type, is_list_like, is_sequence
  from pandas.core.dtypes.generic import ABCSeries
  from pandas.io.formats.printing import pprint_thing
label_desc: Use image node_id 8 for calling the FrameApply obj's underlying member method code with example usage: obj.apply_empty_result() and returns: self, self, self