code: def swap_columns(self, column_name_1, column_name_2, inplace=False):
          
          if inplace:
              self.__is_dirty__ = True
              with cython_context():
                  if self._is_vertex_frame():
                      graph_proxy = self.__graph__.__proxy__.swap_vertex_fields(column_name_1, column_name_2)
                      self.__graph__.__proxy__ = graph_proxy
                  elif self._is_edge_frame():
                      graph_proxy = self.__graph__.__proxy__.swap_edge_fields(column_name_1, column_name_2)
                      self.__graph__.__proxy__ = graph_proxy
              return self
          else:
              return super(GFrame, self).swap_columns(column_name_1, column_name_2, inplace=inplace)
docs: Swaps the columns with the given names.
  
          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
          ----------
          column_name_1 : string
              Name of column to swap
  
          column_name_2 : string
              Name of other column to swap
  
          inplace : bool, optional. Defaults to False.
              Whether the SFrame is modified in place.