class_docstr: GFrame is similar to SFrame but is associated with an SGraph.
  
  - GFrame can be obtained from either the `vertices` or `edges`
  attributed in any SGraph:
  
  >>> import turicreate
  >>> g = turicreate.load_sgraph(...)
  >>> vertices_gf = g.vertices
  >>> edges_gf = g.edges
  
  - GFrame has the same API as SFrame:
  
  >>> sa = vertices_gf['pagerank']
  
  >>> # column lambda transform
  >>> vertices_gf['pagerank'] = vertices_gf['pagerank'].apply(lambda x: 0.15 + 0.85 * x)
  
  >>> # frame lambda transform
  >>> vertices_gf['score'] = vertices_gf.apply(lambda x: 0.2 * x['triangle_count'] + 0.8 * x['pagerank'])
  
  >>> del vertices_gf['pagerank']
  
  - GFrame can be converted to SFrame:
  
  >>> # extract an SFrame
  >>> sf = vertices_gf.__to_sframe__()
class_docstr_tok: ["GFrame","is","similar","to","SFrame","but","is","associated","with","an","SGraph",".","-","GFrame","can","be","obtained","from","either","the","`","vertices","`","or","`","edges","`","attributed","in","any","SGraph",":",">",">",">","import","turicreate",">",">",">","g","=","turicreate.load_sgraph","(","...",")",">",">",">","vertices_gf","=","g.vertices",">",">",">","edges_gf","=","g.edges","-","GFrame","has","the","same","API","as","SFrame",":",">",">",">","sa","=","vertices_gf","[","'pagerank","'","]",">",">",">","#","column","lambda","transform",">",">",">","vertices_gf","[","'pagerank","'","]","=","vertices_gf","[","'pagerank","'","]",".apply","(","lambda","x",":","0.15","+","0.85","*","x",")",">",">",">","#","frame","lambda","transform",">",">",">","vertices_gf","[","'score","'","]","=","vertices_gf.apply","(","lambda","x",":","0.2","*","x","[","'triangle_count","'","]","+","0.8","*","x","[","'pagerank","'","]",")",">",">",">","del","vertices_gf","[","'pagerank","'","]","-","GFrame","can","be","converted","to","SFrame",":",">",">",">","#","extract","an","SFrame",">",">",">","sf","=","vertices_gf.__to_sframe__","(",")"]
docstr: Rename the columns using the 'names' dict.  This changes the names of
  the columns given as the keys and replaces them with the names given as
  the values.
  
  If inplace == False (default) this operation does not modify the
  current SFrame, returning a new SFrame.
  
  If inplace == True, this operation modifies the current
  SFrame, returning self.
  
  Parameters
  ----------
  names : dict[string, string]
      Dictionary of [old_name, new_name]
  
  inplace : bool, optional. Defaults to False.
      Whether the SFrame is modified in place.
docstr_tok: ["Rename","the","columns","using","the","'names","'","dict",".","This","changes","the","names","of","the","columns","given","as","the","keys","and","replaces","them","with","the","names","given","as","the","values",".","If","inplace","==","False","(","default",")","this","operation","does","not","modify","the","current","SFrame",",","returning","a","new","SFrame",".","If","inplace","==","True",",","this","operation","modifies","the","current","SFrame",",","returning","self",".","Parameters","--","--","--","--","--","names",":","dict","[","string",",","string","]","Dictionary","of","[","old_name",",","new_name","]","inplace",":","bool",",","optional",".","Defaults","to","False",".","Whether","the","SFrame","is","modified","in","place","."]
code: def rename(self, names, inplace=False):
      """
      Rename the columns using the 'names' dict.  This changes the names of
      the columns given as the keys and replaces them with the names given as
      the values.
  
      If inplace == False (default) this operation does not modify the
      current SFrame, returning a new SFrame.
  
      If inplace == True, this operation modifies the current
      SFrame, returning self.
  
      Parameters
      ----------
      names : dict[string, string]
          Dictionary of [old_name, new_name]
  
      inplace : bool, optional. Defaults to False.
          Whether the SFrame is modified in place.
      """
      if type(names) is not dict:
          raise TypeError(
              "names must be a dictionary: oldname -> newname"
          )
  
      if inplace:
          self.__is_dirty__ = True
          with cython_context():
              if self._is_vertex_frame():
                  graph_proxy = (
                      self.__graph__.__proxy__.rename_vertex_fields(
                          names.keys(), names.values()
                      )
                  )
                  self.__graph__.__proxy__ = graph_proxy
              elif self._is_edge_frame():
                  graph_proxy = (
                      self.__graph__.__proxy__.rename_edge_fields(
                          names.keys(), names.values()
                      )
                  )
                  self.__graph__.__proxy__ = graph_proxy
          return self
      else:
          return super(GFrame, self).rename(names, inplace=inplace)
  
imports: from __future__ import print_function
  from __future__ import division
  from __future__ import absolute_import
  from .sframe import SFrame
  from .._cython.context import debug_trace
  from ..util import _is_non_string_iterable
  from .sarray import SArray, _create_sequential_sarray
  import copy
label_desc: Use image node_id 8 for calling the GFrame obj's underlying member method code with example usage: obj.rename(names, inplace) and returns: self, super