h2o-py/h2o/frame.py
def set_name(self, col=None, name=None):
        """
        Set a new name for a column.

        :param col: index or name of the column whose name is to be set; may be skipped for 1-column frames
        :param name: the new name of the column
        """
        assert_is_type(col, None, int, str)
        assert_is_type(name, str)
        ncols = self.ncols

        col_index = None
        if is_type(col, int):
            if not(-ncols <= col < ncols):
                raise H2OValueError("Index %d is out of bounds for a frame with %d columns" % (col, ncols))
            col_index = (col + ncols) % ncols  # handle negative indices
        elif is_type(col, str):
            if col not in self.names:
                raise H2OValueError("Column %s doesn't exist in the frame." % col)
            col_index = self.names.index(col)  # lookup the name
        else:
            assert col is None
            if ncols != 1:
                raise H2OValueError("The frame has %d columns; please specify which one to rename" % ncols)
            col_index = 0
        if name != self.names[col_index] and name in self.types:
            raise H2OValueError("Column '%s' already exists in the frame" % name)

        oldname = self.names[col_index]
        old_cache = self._ex._cache
        self._ex = ExprNode("colnames=", self, col_index, name)  # Update-in-place, but still lazy
        self._ex._cache.fill_from(old_cache)
        if self.names is None:
            self._frame()._ex._cache.fill()
        else:
            self._ex._cache._names = self.names[:col_index] + [name] + self.names[col_index + 1:]
            self._ex._cache._types[name] = self._ex._cache._types.pop(oldname)
        return
def set_name(self, col=None, name=None):
        assert_is_type(col, None, int, str)
        assert_is_type(name, str)
        ncols = self.ncols

        col_index = None
        if is_type(col, int):
            if not(-ncols <= col < ncols):
                raise H2OValueError("Index %d is out of bounds for a frame with %d columns" % (col, ncols))
            col_index = (col + ncols) % ncols  # handle negative indices
        elif is_type(col, str):
            if col not in self.names:
                raise H2OValueError("Column %s doesn't exist in the frame." % col)
            col_index = self.names.index(col)  # lookup the name
        else:
            assert col is None
            if ncols != 1:
                raise H2OValueError("The frame has %d columns; please specify which one to rename" % ncols)
            col_index = 0
        if name != self.names[col_index] and name in self.types:
            raise H2OValueError("Column '%s' already exists in the frame" % name)

        oldname = self.names[col_index]
        old_cache = self._ex._cache
        self._ex = ExprNode("colnames=", self, col_index, name)  # Update-in-place, but still lazy
        self._ex._cache.fill_from(old_cache)
        if self.names is None:
            self._frame()._ex._cache.fill()
        else:
            self._ex._cache._names = self.names[:col_index] + [name] + self.names[col_index + 1:]
            self._ex._cache._types[name] = self._ex._cache._types.pop(oldname)
        return
def set_name ( self , col = None , name = None ) : assert_is_type ( col , None , int , str ) assert_is_type ( name , str ) ncols = self . ncols col_index = None if is_type ( col , int ) : if not ( - ncols <= col < ncols ) : raise H2OValueError ( "Index %d is out of bounds for a frame with %d columns" % ( col , ncols ) ) col_index = ( col + ncols ) % ncols # handle negative indices elif is_type ( col , str ) : if col not in self . names : raise H2OValueError ( "Column %s doesn't exist in the frame." % col ) col_index = self . names . index ( col ) # lookup the name else : assert col is None if ncols != 1 : raise H2OValueError ( "The frame has %d columns; please specify which one to rename" % ncols ) col_index = 0 if name != self . names [ col_index ] and name in self . types : raise H2OValueError ( "Column '%s' already exists in the frame" % name ) oldname = self . names [ col_index ] old_cache = self . _ex . _cache self . _ex = ExprNode ( "colnames=" , self , col_index , name ) # Update-in-place, but still lazy self . _ex . _cache . fill_from ( old_cache ) if self . names is None : self . _frame ( ) . _ex . _cache . fill ( ) else : self . _ex . _cache . _names = self . names [ : col_index ] + [ name ] + self . names [ col_index + 1 : ] self . _ex . _cache . _types [ name ] = self . _ex . _cache . _types . pop ( oldname ) return
Set a new name for a column.

        :param col: index or name of the column whose name is to be set; may be skipped for 1-column frames
        :param name: the new name of the column
Set a new name for a column .