class_docstr: Create a new Frame that points to a dataframe in memory. All
  frames are stored in ``Frame.frames``. Names must be unique.
  
  Parameters
  ----------
  name : str
      Frame key.
  space : alphapy.Space
      Namespace of the given frame.
  df : pandas.DataFrame
      The contents of the actual dataframe.
  
  Attributes
  ----------
  frames : dict
      Class variable for storing all known frames
  
  Examples
  --------
  
  >>> Frame('tech', Space('stock', 'prices', '5m'), df)
code: def __init__(self, name, space, df):
      # code
      if df.__class__.__name__ == "DataFrame":
          fn = frame_name(name, space)
          if not fn in Frame.frames:
              self.name = name
              self.space = space
              self.df = df
              # add frame to frames list
              Frame.frames[fn] = self
          else:
              logger.info("Frame ", fn, " already exists")
      else:
          logger.info("df must be of type Pandas DataFrame")
  
file_path: AlphaPy/alphapy/frame.py
imports: from alphapy.globals import PSEP, SSEP, USEP
  from alphapy.globals import TAG_ID
  import logging
  import pandas
label_desc: Use image node_id 1 to create a new Frame object from inherited base classes: object with example: obj = Frame(name, space, df)