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
  from collections import ChainMap
  import datetime
  import inspect
  from io import StringIO
  import itertools
  import pprint
  import struct
  import sys
  from typing import 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