class_docstr: Object to hold scope, with a few bells to deal with some custom syntax
  and contexts added by pandas.
  
  Parameters
  ----------
  level : int
  global_dict : dict or None, optional, default None
  local_dict : dict or Scope or None, optional, default None
  resolvers : list-like or None, optional, default None
  target : object
  
  Attributes
  ----------
  level : int
  scope : DeepChainMap
  target : object
  temps : dict
class_docstr_tok: ["Object","to","hold","scope",",","with","a","few","bells","to","deal","with","some","custom","syntax","and","contexts","added","by","pandas",".","Parameters","--","--","--","--","--","level",":","int","global_dict",":","dict","or","None",",","optional",",","default","None","local_dict",":","dict","or","Scope","or","None",",","optional",",","default","None","resolvers",":","list-like","or","None",",","optional",",","default","None","target",":","object","Attributes","--","--","--","--","--","level",":","int","scope",":","DeepChainMap","target",":","object","temps",":","dict"]
docstr: Get specifically scoped variables from a list of stack frames.
  
  Parameters
  ----------
  stack : list
      A list of stack frames as returned by ``inspect.stack()``
  scopes : sequence of strings
      A sequence containing valid stack frame attribute names that
      evaluate to a dictionary. For example, ('locals', 'globals')
docstr_tok: ["Get","specifically","scoped","variables","from","a","list","of","stack","frames",".","Parameters","--","--","--","--","--","stack",":","list","A","list","of","stack","frames","as","returned","by","``","inspect.stack","(",")","``","scopes",":","sequence","of","strings","A","sequence","containing","valid","stack","frame","attribute","names","that","evaluate","to","a","dictionary",".","For","example",",","(","'locals","'",",","'globals","'",")"]
code: def _get_vars(self, stack, scopes: list[str]) -> None:
      """
      Get specifically scoped variables from a list of stack frames.
  
      Parameters
      ----------
      stack : list
          A list of stack frames as returned by ``inspect.stack()``
      scopes : sequence of strings
          A sequence containing valid stack frame attribute names that
          evaluate to a dictionary. For example, ('locals', 'globals')
      """
      variables = itertools.product(scopes, stack)
      for scope, (frame, _, _, _, _, _) in variables:
          try:
              d = getattr(frame, f"f_{scope}")
              self.scope = DeepChainMap(self.scope.new_child(d))
          finally:
              # won't remove it, but DECREF it
              # in Py3 this probably isn't necessary since frame won't be
              # scope after the loop
              del frame
  
imports: from __future__ import annotations
  import datetime
  import inspect
  from io import StringIO
  import itertools
  import pprint
  import struct
  import sys
  from typing import ChainMap, TypeVar
  import numpy
  from pandas._libs.tslibs import Timestamp
  from pandas.errors import UndefinedVariableError
label_desc: Use image node_id 6 for calling the Scope obj's underlying member method code with example usage: obj._get_vars(stack, scopes) without return types