<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def Remove(self, row):
 """Removes a row from the table. Args: row: int, the row number to delete. Must be >= 1, as the header cannot be removed. Raises: TableError: Attempt to remove nonexistent or header row. """

        if row == 0 or row > self.size:
            raise TableError("Attempt to remove header row")
        new_table = []
        # pylint: disable=E1103
        for t_row in self._table:
            if t_row.row != row:
                new_table.append(t_row)
                if t_row.row > row:
                    t_row.row -= 1
        self._table = new_table