code: def append_rows(self, indexes, values, new_cols=True):
          for column in values:
              if len(values[column]) > len(indexes):
                  raise ValueError('length of %s column in values is longer than indexes' % column)
          combined_index = self._index + indexes
          if len(set(combined_index)) != len(combined_index):
              raise IndexError('duplicate indexes in DataFrames')
          if new_cols:
              for col in values:
                  if col not in self._columns:
                      self._add_column(col)
          self._index.extend(indexes)
          for c, col in enumerate(self._columns):
              self._data[c].extend(values.get(col, [None] * len(indexes)))
          self._pad_data()