code: def apply_if_callable(maybe_callable, obj, **kwargs):
      """
      Evaluate possibly callable input using obj and kwargs if it is callable,
      otherwise return as it is
  
      Parameters
      ----------
      maybe_callable : possibly a callable
      obj : NDFrame
      **kwargs
      """
  
      if callable(maybe_callable):
          return maybe_callable(obj, **kwargs)
  
      return maybe_callable
  
imports: import collections
  from datetime import datetime, timedelta
  from functools import partial
  import inspect
  import numpy
  from pandas._libs import lib, tslibs
  import pandas.compat
  from pandas.compat import PY36, OrderedDict, iteritems
  from pandas.core.dtypes.cast import construct_1d_object_array_from_listlike
  from pandas.core.dtypes.common import is_array_like, is_bool_dtype, is_extension_array_dtype, is_integer
  from pandas.core.dtypes.generic import ABCIndex, ABCIndexClass, ABCSeries
  from pandas.core.dtypes.inference import _iterable_not_string
  from pandas.core.dtypes.missing import isna, isnull, notnull
label_desc: Use image node_id 22 for calling a global function with example usage: apply_if_callable(maybe_callable, obj) and returns: maybe_callable, maybe_callable