code: def append(self, other, ignore_index=False,
                 verify_integrity=False, sort=None):
          if isinstance(other, (Series, dict)):
              if isinstance(other, dict):
                  other = Series(other)
              if other.name is None and not ignore_index:
                  raise TypeError('Can only append a Series if ignore_index=True'
                                  ' or if the Series has a name')
              if other.name is None:
                  index = None
              else:
                  index = Index([other.name], name=self.index.name)
              idx_diff = other.index.difference(self.columns)
              try:
                  combined_columns = self.columns.append(idx_diff)
              except TypeError:
                  combined_columns = self.columns.astype(object).append(idx_diff)
              other = other.reindex(combined_columns, copy=False)
              other = DataFrame(other.values.reshape((1, len(other))),
                                index=index,
                                columns=combined_columns)
              other = other._convert(datetime=True, timedelta=True)
              if not self.columns.equals(combined_columns):
                  self = self.reindex(columns=combined_columns)
          elif isinstance(other, list) and not isinstance(other[0], DataFrame):
              other = DataFrame(other)
              if (self.columns.get_indexer(other.columns) >= 0).all():
                  other = other.reindex(columns=self.columns)
          from pandas.core.reshape.concat import concat
          if isinstance(other, (list, tuple)):
              to_concat = [self] + other
          else:
              to_concat = [self, other]
          return concat(to_concat, ignore_index=ignore_index,
                        verify_integrity=verify_integrity,
                        sort=sort)