def set_row_names(self, row_names):
        """ Setup the feature vector with some column names
        :param row_names: the column names we want
        :return:
        """
        if self.row_count() != len(row_names) or len(self._row_name_list) > 0 or len(self._row_name_idx) > 0:
            raise NotImplementedError("You can only manually set names once data has been added")

        for idx, k in enumerate(row_names):
            self._row_name_idx[k] = idx

        self._row_name_list = row_names