code: def remove_column(self, column_name, inplace=False):
          
          if column_name not in self.column_names():
              raise KeyError('Cannot find column %s' % column_name)
          if inplace:
              self.__is_dirty__ = True
              try:
                  with cython_context():
                      if self._is_vertex_frame():
                          assert column_name != '__id', 'Cannot remove \"__id\" column'
                          graph_proxy = self.__graph__.__proxy__.delete_vertex_field(column_name)
                          self.__graph__.__proxy__ = graph_proxy
                      elif self._is_edge_frame():
                          assert column_name != '__src_id', 'Cannot remove \"__src_id\" column'
                          assert column_name != '__dst_id', 'Cannot remove \"__dst_id\" column'
                          graph_proxy = self.__graph__.__proxy__.delete_edge_field(column_name)
                          self.__graph__.__proxy__ = graph_proxy
                  return self
              except:
                  self.__is_dirty__ = False
                  raise
          else:
              return super(GFrame, self).remove_column(column_name, inplace=inplace)
docs: Removes the column with the given name from the SFrame.
  
          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 : string
              The name of the column to remove.
  
          inplace : bool, optional. Defaults to False.
              Whether the SFrame is modified in place.