Spec-Zone.ru › pandas 0.24

pandas.concat

pandas.concat(objs, axis=0, join='outer', join_axes=None, ignore_index=False, keys=None, levels=None, names=None, verify_integrity=False, sort=None, copy=True) [source]

Объединение объектов pandas вдоль определённой оси с опциональной логикой множеств по другим осям.

Также можно добавить уровень иерархической индексации по оси конкатенации, что может быть полезно, если метки совпадают (или перекрываются) на указанном номере оси.

Параметры:
objs : a sequence or mapping of Series, DataFrame, or Panel objects

Если передаётся словарь, отсортированные ключи будут использоваться как аргумент keys, если он не передаётся, будут выбраны значения (см. ниже). Любые объекты None будут молча отброшены, если они все не None, в противном случае будет поднято исключение ValueError

axis : {0/’index’, 1/’columns’}, default 0

Ось для объединения

join : {‘inner’, ‘outer’}, default ‘outer’

Как обрабатывать индексы на других осях

join_axes : list of Index objects

Конкретные индексы для использования на других осях вместо выполнения логики внутреннего/внешнего множества

ignore_index : boolean, default False

Если True, не использовать значения индекса вдоль оси конкатенации. Результирующая ось будет иметь метки 0, ..., n - 1. Это полезно, если вы объединяете объекты, где ось конкатенации не имеет осмысленной информации об индексе. Обратите внимание, что значения индекса на других осях всё ещё учитываются при объединении.

keys : sequence, default None

Если переданы несколько уровней, должен содержать кортежи. Постройте иерархический индекс, используя переданные ключи в качестве внешнего уровня

levels : list of sequences, default None

Конкретные уровни (уникальные значения) для построения MultiIndex. В противном случае они будут выведены из ключей

names : list, default None

Имена уровней в результирующем иерархическом индексе

verify_integrity : boolean, default False

Проверить, содержит ли новая ось конкатенации дубликаты. Это может быть очень затратно по сравнению с фактическим объединением данных

sort : boolean, default None

Отсортировать ось, не участвующую в конкатенации, если она ещё не выровнена, когда join равна ‘outer’. Текущий стандартный порядок сортировки устарел и изменится на несортировку в будущей версии pandas.

Явно передайте sort=True чтобы отключить предупреждение и отсортировать. Явно передайте sort=False чтобы отключить предупреждение и не сортировать.

Это не влияет, когда join='inner', которая уже сохраняет порядок оси, не участвующей в конкатенации.

Новое в версии 0.23.0.

copy : boolean, default True

Если False, не копировать данные без необходимости

Возвращает:
concatenated : object, type of objs

При объединении всех Series вдоль индекса (axis=0), возвращается Series. При objs содержит хотя бы один DataFrame, возвращается DataFrame. При объединении вдоль столбцов (axis=1), возвращается DataFrame.

См. также

Series.append, DataFrame.append, DataFrame.join, DataFrame.merge

Примечания

Аргументы keys, levels и names являются необязательными.

Подробное описание того, как этот метод сочетается с другими инструментами для объединения объектов pandas, можно найти здесь.

Примеры

Объединить два Series.

>>> s1 = pd.Series(['a', 'b'])
>>> s2 = pd.Series(['c', 'd'])
>>> pd.concat([s1, s2])
0    a
1    b
0    c
1    d
dtype: object

Очистить существующий индекс и сбросить его в результате, установив опцию ignore_index в значение True.

>>> pd.concat([s1, s2], ignore_index=True)
0    a
1    b
2    c
3    d
dtype: object

Добавить иерархический индекс на внешнем уровне данных с помощью опции keys.

>>> pd.concat([s1, s2], keys=['s1', 's2',])
s1  0    a
    1    b
s2  0    c
    1    d
dtype: object

Назначить метки ключам индекса, которые вы создали, с помощью опции names.

>>> pd.concat([s1, s2], keys=['s1', 's2'],
...           names=['Series name', 'Row ID'])
Series name  Row ID
s1           0         a
             1         b
s2           0         c
             1         d
dtype: object

Объединить два DataFrame объекта с идентичными столбцами.

>>> df1 = pd.DataFrame([['a', 1], ['b', 2]],
...                    columns=['letter', 'number'])
>>> df1
  letter  number
0      a       1
1      b       2
>>> df2 = pd.DataFrame([['c', 3], ['d', 4]],
...                    columns=['letter', 'number'])
>>> df2
  letter  number
0      c       3
1      d       4
>>> pd.concat([df1, df2])
  letter  number
0      a       1
1      b       2
0      c       3
1      d       4

Объединить DataFrame объекты с перекрывающимися столбцами и вернуть всё. Столбцы вне пересечения будут заполнены значениями NaN.

>>> df3 = pd.DataFrame([['c', 3, 'cat'], ['d', 4, 'dog']],
...                    columns=['letter', 'number', 'animal'])
>>> df3
  letter  number animal
0      c       3    cat
1      d       4    dog
>>> pd.concat([df1, df3], sort=False)
  letter  number animal
0      a       1    NaN
1      b       2    NaN
0      c       3    cat
1      d       4    dog

Объединить DataFrame объекты с перекрывающимися столбцами и вернуть только те, которые общие, передав inner в ключевой аргумент join.

>>> pd.concat([df1, df3], join="inner")
  letter  number
0      a       1
1      b       2
0      c       3
1      d       4

Объединить DataFrame объекты горизонтально по оси x, передав axis=1.

>>> df4 = pd.DataFrame([['bird', 'polly'], ['monkey', 'george']],
...                    columns=['animal', 'name'])
>>> pd.concat([df1, df4], axis=1)
  letter  number  animal    name
0      a       1    bird   polly
1      b       2  monkey  george

Предотвратить включение дублирующих значений индекса в результат с помощью опции verify_integrity.

>>> df5 = pd.DataFrame([1], index=['a'])
>>> df5
   0
a  1
>>> df6 = pd.DataFrame([2], index=['a'])
>>> df6
   0
a  2
>>> pd.concat([df5, df6], verify_integrity=True)
Traceback (most recent call last):
    ...
ValueError: Indexes have overlapping values: ['a']

© 2008–2012, 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/0.24.2/reference/api/pandas.concat.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API