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"]
code: def __init__(
      self,
      level,
      global_dict=None,
      local_dict=None,
      resolvers=(),
      target=None,
  ):
      self.level = level + 1
  
      # shallow copy because we don't want to keep filling this up with what
      # was there before if there are multiple calls to Scope/_ensure_scope
      self.scope = DeepChainMap(_DEFAULT_GLOBALS.copy())
      self.target = target
  
      if isinstance(local_dict, Scope):
          self.scope.update(local_dict.scope)
          if local_dict.target is not None:
              self.target = local_dict.target
          self.update(local_dict.level)
  
      frame = sys._getframe(self.level)
  
      try:
          # shallow copy here because we don't want to replace what's in
          # scope when we align terms (alignment accesses the underlying
          # numpy array of pandas objects)
          self.scope = self.scope.new_child(
              (global_dict or frame.f_globals).copy()
          )
          if not isinstance(local_dict, Scope):
              self.scope = self.scope.new_child(
                  (local_dict or frame.f_locals).copy()
              )
      finally:
          del frame
  
      # assumes that resolvers are going from outermost scope to inner
      if isinstance(local_dict, Scope):
          resolvers += tuple(local_dict.resolvers.maps)
      self.resolvers = DeepChainMap(*resolvers)
      self.temps = {}
  
imports: import datetime
  import inspect
  import itertools
  import pprint
  import struct
  import sys
  import numpy
  from pandas.compat import DeepChainMap, StringIO, map
  import pandas
  from pandas.core.base import StringMixin
  import pandas.core.computation
label_desc: Use image node_id 1 to create a new Scope object from inherited base classes: StringMixin with example: obj = Scope(level, global_dict, local_dict, resolvers, target)