pandas.DataFrame.merge
-
DataFrame.merge(right, how='inner', on=None, left_on=None, right_on=None, left_index=False, right_index=False, sort=False, suffixes=('_x', '_y'), copy=True, indicator=False)[source] -
Объединение объектов DataFrame путём выполнения операции объединения в стиле базы данных по столбцам или индексам.
Если объединение происходит по столбцам, индексы DataFrame будут проигнорированы. В противном случае, если объединение происходит по индексам или индексу к столбцу или столбцам, индекс будет передан.
Параметры: right : DataFrame
how : {‘left’, ‘right’, ‘outer’, ‘inner’}, по умолчанию ‘inner’
- left: использовать только ключи из левой таблицы (SQL: левое внешнее соединение)
- right: использовать только ключи из правой таблицы (SQL: правое внешнее соединение)
- outer: использовать объединение ключей из обеих таблиц (SQL: полное внешнее объединение)
- inner: использовать пересечение ключей из обеих таблиц (SQL: внутреннее объединение)
on : метка или список
Имена полей для объединения. Должны быть найдены в обеих таблицах. Если on равно None и объединение не происходит по индексам, то по умолчанию объединение происходит по пересечению столбцов.
left_on : метка или список, или массив-подобный объект
Имена полей для объединения в левой таблице. Может быть вектором или списком векторов длины DataFrame, чтобы использовать определённый вектор в качестве ключа объединения вместо столбцов
right_on : метка или список, или массив-подобный объект
Имена полей для объединения в правой таблице или вектор/список векторов по документации к left_on
left_index : булево значение, по умолчанию False
Использовать индекс из левой таблицы в качестве ключа объединения. Если это MultiIndex, число ключей в другой таблице (либо индекс, либо число столбцов) должно совпадать с числом уровней
right_index : булево значение, по умолчанию False
Использовать индекс из правой таблицы в качестве ключа объединения. Аналогичные замечания, как и для left_index
sort : булево значение, по умолчанию False
Сортировать ключи объединения лексикографически в результирующей таблице
suffixes : последовательность из 2 элементов (кортеж, список, ...)
Суффикс для применения к перекрывающимся именам столбцов в левой и правой части соответственно
copy : булево значение, по умолчанию True
Если False, не копировать данные без необходимости
indicator : булево значение или строка, по умолчанию False
Если True, добавляет столбец в выходной DataFrame под названием “_merge” с информацией о источнике каждой строки. Если строка, столбец с информацией о источнике каждой строки будет добавлен в выходной DataFrame, и столбец будет назван значением строки. Информационный столбец является типа Categorical и принимает значения “left_only” для наблюдений, ключ объединения которых появляется только в левой таблице, “right_only” для наблюдений, ключ объединения которых появляется только в правой таблице, и “both”, если ключ объединения наблюдения встречается в обеих таблицах.
Введено в версии 0.17.0.
Возвращаемое значение: merged : DataFrame
Тип результата будет таким же, как у ‘left’, если это подкласс DataFrame.
См. также
Примеры
>>> A >>> B lkey value rkey value 0 foo 1 0 foo 5 1 bar 2 1 bar 6 2 baz 3 2 qux 7 3 foo 4 3 bar 8>>> A.merge(B, left_on='lkey', right_on='rkey', how='outer') lkey value_x rkey value_y 0 foo 1 foo 5 1 foo 4 foo 5 2 bar 2 bar 6 3 bar 2 bar 8 4 baz 3 NaN NaN 5 NaN NaN qux 7
© 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.19.2/generated/pandas.DataFrame.merge.html