def relabel(self, column_label, new_label):
if isinstance(column_label, numbers.Integral):<EOL><INDENT>column_label = self._as_label(column_label)<EOL><DEDENT>if isinstance(column_label, str) and isinstance(new_label, str):<EOL><INDENT>column_label, new_label = [column_label], [new_label]<EOL><DEDENT>if len(column_label) != len(new_label):<EOL><INDENT>raise ValueError('<STR_LIT>'<EOL>'<STR_LIT>')<EOL><DEDENT>old_to_new = dict(zip(column_label, new_label)) <EOL>for label in column_label:<EOL><INDENT>if not (label in self.labels):<EOL><INDENT>raise ValueError('<STR_LIT>'<EOL>'<STR_LIT>')<EOL><DEDENT><DEDENT>rewrite = lambda s: old_to_new[s] if s in old_to_new else s<EOL>columns = [(rewrite(s), c) for s, c in self._columns.items()]<EOL>self._columns = collections.OrderedDict(columns)<EOL>for label in self._formats:<EOL><INDENT>if label in column_label:<EOL><INDENT>formatter = self._formats.pop(label)<EOL>self._formats[old_to_new[label]] = formatter<EOL><DEDENT><DEDENT>return self<EOL>
Changes the label(s) of column(s) specified by ``column_label`` to
        labels in ``new_label``.

        Args:
            ``column_label`` -- (single str or array of str) The label(s) of
                columns to be changed to ``new_label``.

            ``new_label`` -- (single str or array of str): The label name(s)
                of columns to replace ``column_label``.

        Raises:
            ``ValueError`` -- if ``column_label`` is not in table, or if
                ``column_label`` and ``new_label`` are not of equal length.
            ``TypeError`` -- if ``column_label`` and/or ``new_label`` is not
                ``str``.

        Returns:
            Original table with ``new_label`` in place of ``column_label``.

        >>> table = Table().with_columns(
        ...     'points', make_array(1, 2, 3),
        ...     'id',     make_array(12345, 123, 5123))
        >>> table.relabel('id', 'yolo')
        points | yolo
        1      | 12,345
        2      | 123
        3      | 5,123
        >>> table.relabel(make_array('points', 'yolo'),
        ...   make_array('red', 'blue'))
        red  | blue
        1    | 12,345
        2    | 123
        3    | 5,123
        >>> table.relabel(make_array('red', 'green', 'blue'),
        ...   make_array('cyan', 'magenta', 'yellow', 'key'))
        Traceback (most recent call last):
            ...
        ValueError: Invalid arguments. column_label and new_label must be of equal length.