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