def append(self, row_or_table):
if not row_or_table:<EOL><INDENT>return<EOL><DEDENT>if isinstance(row_or_table, Table):<EOL><INDENT>t = row_or_table<EOL>columns = list(t.select(self.labels)._columns.values())<EOL>n = t.num_rows<EOL><DEDENT>else:<EOL><INDENT>if (len(list(row_or_table)) != self.num_columns):<EOL><INDENT>raise Exception('<STR_LIT>'+ str(self.num_columns) + "<STR_LIT>")<EOL><DEDENT>columns, n = [[value] for value in row_or_table], <NUM_LIT:1><EOL><DEDENT>for i, column in enumerate(self._columns):<EOL><INDENT>if self.num_rows:<EOL><INDENT>self._columns[column] = np.append(self[column], columns[i])<EOL><DEDENT>else:<EOL><INDENT>self._columns[column] = np.array(columns[i])<EOL><DEDENT><DEDENT>self._num_rows += n<EOL>return self<EOL>
Append a row or all rows of a table. An appended table must have all
        columns of self.