pandas.DataFrame.append
- DataFrame.append(other, ignore_index=False, verify_integrity=False, sort=False)[source]
-
Добавляет строки из other в конец вызываемого объекта, возвращая новый объект.
Устаревшая с версии 1.4.0: Используйте
concat()вместо этого. Для получения дополнительной информации см. Устаревшие DataFrame.append и Series.appendСтолбцы из other, отсутствующие в вызываемом объекте, добавляются как новые столбцы.
- Параметры
-
- other:DataFrame или Series/dict-подобный объект, или список таких объектов
-
Данные для добавления.
- ignore_index:bool, по умолчанию False
-
Если True, результирующая ось будет иметь метки 0, 1, …, n - 1.
- verify_integrity:bool, по умолчанию False
-
Если True, при создании индекса с дубликатами будет поднято исключение ValueError.
- sort:bool, по умолчанию False
-
Сортировать столбцы, если столбцы self и other не выровнены.
Изменено в версии 1.0.0: Изменено на несортировку по умолчанию.
- Возвращает
-
- DataFrame
-
Новый DataFrame, содержащий строки вызываемого объекта и строки other.
См. также
concat-
Общая функция для конкатенации DataFrame или Series объектов.
Примечания
Если передан список словарей/рядов и ключи всех содержатся в индексе DataFrame, порядок столбцов в результирующем DataFrame не изменится.
Итеративное добавление строк в DataFrame может быть более ресурсоемким, чем единственная конкатенация. Лучшим решением является добавление этих строк в список, а затем конкатенация списка с исходным DataFrame сразу.
Примеры
>>> df = pd.DataFrame([[1, 2], [3, 4]], columns=list('AB'), index=['x', 'y']) >>> df A B x 1 2 y 3 4 >>> df2 = pd.DataFrame([[5, 6], [7, 8]], columns=list('AB'), index=['x', 'y']) >>> df.append(df2) A B x 1 2 y 3 4 x 5 6 y 7 8С ignore_index установленным в True:
>>> df.append(df2, ignore_index=True) A B 0 1 2 1 3 4 2 5 6 3 7 8
Следующие примеры, хотя и не рекомендуемые способы генерации DataFrames, демонстрируют два способа генерации DataFrame из нескольких источников данных.
Менее эффективный:
>>> 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Более эффективный:
>>> 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
© 2008–2022, AQR Capital Management, LLC, Lambda Foundry, Inc. and PyData Development Team
Licensed under the 3-clause BSD License.
https://pandas.pydata.org/pandas-docs/version/1.5.0/reference/api/pandas.DataFrame.append.html