pandas.DataFrame.append — pandas 0.24.0rc1 documentation (original) (raw)

DataFrame. append(other, ignore_index=False, verify_integrity=False, sort=None)[source]

Append rows of other to the end of caller, returning a new object.

Columns in other that are not in the caller are added as new columns.

Parameters: other : DataFrame or Series/dict-like object, or list of these The data to append. ignore_index : boolean, default False If True, do not use the index labels. verify_integrity : boolean, default False If True, raise ValueError on creating index with duplicates. sort : boolean, default None Sort columns if the columns of self and other are not aligned. The default sorting is deprecated and will change to not-sorting in a future version of pandas. Explicitly pass sort=True to silence the warning and sort. Explicitly pass sort=False to silence the warning and not sort. New in version 0.23.0.
Returns: appended : DataFrame

See also

pandas.concat

General function to concatenate DataFrame, Series or Panel objects.

Notes

If a list of dict/series is passed and the keys are all contained in the DataFrame’s index, the order of the columns in the resulting DataFrame will be unchanged.

Iteratively appending rows to a DataFrame can be more computationally intensive than a single concatenate. A better solution is to append those rows to a list and then concatenate the list with the original DataFrame all at once.

Examples

df = pd.DataFrame([[1, 2], [3, 4]], columns=list('AB')) df A B 0 1 2 1 3 4 df2 = pd.DataFrame([[5, 6], [7, 8]], columns=list('AB')) df.append(df2) A B 0 1 2 1 3 4 0 5 6 1 7 8

With ignore_index set to True:

df.append(df2, ignore_index=True) A B 0 1 2 1 3 4 2 5 6 3 7 8

The following, while not recommended methods for generating DataFrames, show two ways to generate a DataFrame from multiple data sources.

Less efficient:

df = pd.DataFrame(columns=['A']) for i in range(5): ... df = df.append({'A': i}, ignore_index=True) df A 0 0 1 1 2 2 3 3 4 4

More efficient:

pd.concat([pd.DataFrame([i], columns=['A']) for i in range(5)], ... ignore_index=True) A 0 0 1 1 2 2 3 3 4 4