code: def vapply(group, vname, vfuncs=None):
      r"""Apply a variable to multiple dataframes.
  
      Parameters
      ----------
      group : alphapy.Group
          The input group.
      vname : str
          The variable to apply to the ``group``.
      vfuncs : dict, optional
          Dictionary of external modules and functions.
  
      Returns
      -------
      None : None
  
      Other Parameters
      ----------------
      Frame.frames : dict
          Global dictionary of dataframes
  
      See Also
      --------
      vunapply
  
      """
      # get all frame names to apply variables
      gnames = [item.lower() for item in group.members]
      # get all the precedent variables
      allv = vtree(vname)
      # apply the variables to each frame
      for g in gnames:
          fname = frame_name(g, group.space)
          if fname in Frame.frames:
              f = Frame.frames[fname].df
              if not f.empty:
                  for v in allv:
                      logger.debug("Applying variable %s to %s", v, g)
                      f = vexec(f, v, vfuncs)
              else:
                  logger.debug("Frame for %s is empty", g)
          else:
              logger.debug("Frame not found: %s", fname)
  
imports: from alphapy.alias import get_alias
  from alphapy.frame import Frame
  from alphapy.frame import frame_name
  from alphapy.globals import BSEP, LOFF, ROFF, USEP
  from alphapy.utilities import valid_name
  import builtins
  from collections import OrderedDict
  from importlib import import_module
  import logging
  import numpy
  import pandas
  import parser
  import re
  import sys
label_desc: Use image node_id 6 for calling a global function with example usage: vapply(group, vname, vfuncs) without return types