code: def pop_column(self, index=-1):
          
          if isinstance(index, int):
              pass
          elif isinstance(index, basestring):
              index = self.get_column_index(index)
          else:
              raise TypeError(("column index must be an integer or a string, "
                               "not {}").format(type(index).__name__))
          if self._column_count == 0:
              raise IndexError("pop from empty table")
          if self._column_count == 1:
              # This is the last column. So we should clear the table to avoid
              # empty rows
              self.clear(clear_metadata=True)
          else:
              # Not the last column. safe to pop from row
              self._column_count -= 1
              self._column_alignments._pop(index)
              self._column_widths._pop(index)
              self._left_padding_widths._pop(index)
              self._right_padding_widths._pop(index)
              self._column_headers._pop(index)
              for row in self._table:
                  row._pop(index)
docs: Remove and return row at index (default last).
  
          Parameters
          ----------
          index : int, str
              index of the column, or the header of the column.
              If index is specified, then normal list rules apply.
  
          Raises
          ------
          TypeError:
              If index is not an instance of `int`, or `str`.
  
          IndexError:
              If Table is empty.