parameters: (self, other, func, fill_value=None, axis=None, level=None)
return_statement: return left._construct_result(new_data)
docstring: Apply binary operator `func` to self, other using alignment and fill
      conventions determined by the fill_value, axis, and level kwargs.
  
      Parameters
      ----------
      self : DataFrame
      other : Series
      func : binary operator
      fill_value : object, default None
      axis : {0, 1, 'columns', 'index', None}, default None
      level : int or None, default None
  
      Returns
      -------
      result : DataFrame
docstring_summary: Apply binary operator `func` to self, other using alignment and fill
      conventions determined by the fill_value, axis, and level kwargs.
docstring_tokens: Apply binary operator func to self other using alignment and fill conventions determined by the fill_value axis and level kwargs .
function: def _combine_series_frame(self, other, func, fill_value=None, axis=None, level=None):
      """
      Apply binary operator `func` to self, other using alignment and fill
      conventions determined by the fill_value, axis, and level kwargs.
  
      Parameters
      ----------
      self : DataFrame
      other : Series
      func : binary operator
      fill_value : object, default None
      axis : {0, 1, 'columns', 'index', None}, default None
      level : int or None, default None
  
      Returns
      -------
      result : DataFrame
      """
      if fill_value is not None:
          raise NotImplementedError(f"fill_value {fill_value} not supported.")
  
      if axis is None:
          # default axis is columns
          axis = 1
  
      axis = self._get_axis_number(axis)
      left, right = self.align(other, join="outer", axis=axis, level=level, copy=False)
      if axis == 0:
          new_data = left._combine_match_index(right, func)
      else:
          new_data = dispatch_to_series(left, right, func, axis="columns")
  
      return left._construct_result(new_data)
function_tokens: def _combine_series_frame ( self , other , func , fill_value = None , axis = None , level = None ) : if fill_value is not None : raise NotImplementedError ( f"fill_value {fill_value} not supported." ) if axis is None : # default axis is columns axis = 1 axis = self . _get_axis_number ( axis ) left , right = self . align ( other , join = "outer" , axis = axis , level = level , copy = False ) if axis == 0 : new_data = left . _combine_match_index ( right , func ) else : new_data = dispatch_to_series ( left , right , func , axis = "columns" ) return left . _construct_result ( new_data )