pandas.DataFrame.join
-
DataFrame.join(self, other, on=None, how='left', lsuffix='', rsuffix='', sort=False)[source] -
Объединение столбцов другого DataFrame.
Объединяет столбцы с другим DataFrame по индексу или по ключевому столбцу. Эффективно объединяет несколько объектов DataFrame по индексу сразу, передавая список.
Параметры: -
other : DataFrame, Series, or list of DataFrame -
Индекс должен быть похожим на один из столбцов в этом. Если передается Series, его атрибут name должен быть установлен, и он будет использоваться в качестве имени столбца в результирующем объединенном DataFrame.
-
on : str, list of str, or array-like, optional -
Имя(я) столбца или уровня индекса в вызываемом объекте для объединения с индексом в
other, иначе объединяет по индексу. Если указано несколько значений, уotherDataFrame должен быть MultiIndex. Можно передать массив в качестве ключа объединения, если он еще не содержится в вызываемом DataFrame. Похоже на операцию Excel VLOOKUP. -
how : {‘left’, ‘right’, ‘outer’, ‘inner’}, default ‘left’ -
Как обработать операцию с двумя объектами.
- left: использовать индекс вызываемого DataFrame (или столбец, если указан on)
- right: использовать индекс
other. - outer: сформировать объединение индекса вызываемого DataFrame (или столбца, если указан on) с индексом
other, и отсортировать его лексикографически. - inner: сформировать пересечение индекса вызываемого DataFrame (или столбца, если указан on) с индексом
other, сохраняя порядок вызываемого.
-
lsuffix : str, default ‘’ -
Суффикс для использования из перекрывающихся столбцов левого DataFrame.
-
rsuffix : str, default ‘’ -
Суффикс для использования из перекрывающихся столбцов правого DataFrame.
-
sort : bool, default False -
Сортировать результирующий DataFrame лексикографически по ключу объединения. Если False, порядок ключа объединения зависит от типа объединения (параметр how).
Возвращает: - DataFrame
-
DataFrame, содержащий столбцы как из вызываемого объекта, так и из
other.
См. также
-
DataFrame.merge - Для операций по столбцу(ам) — на столбец(ы).
Примечания
Параметры
on,lsuffix, иrsuffixне поддерживаются при передаче спискаDataFrameобъектов.Поддержка указания уровней индекса в качестве параметра
onбыла добавлена в версии 0.23.0.Примеры
>>> df = pd.DataFrame({'key': ['K0', 'K1', 'K2', 'K3', 'K4', 'K5'], ... 'A': ['A0', 'A1', 'A2', 'A3', 'A4', 'A5']})>>> df key A 0 K0 A0 1 K1 A1 2 K2 A2 3 K3 A3 4 K4 A4 5 K5 A5
>>> other = pd.DataFrame({'key': ['K0', 'K1', 'K2'], ... 'B': ['B0', 'B1', 'B2']})>>> other key B 0 K0 B0 1 K1 B1 2 K2 B2
Объединение DataFrames по их индексам.
>>> df.join(other, lsuffix='_caller', rsuffix='_other') key_caller A key_other B 0 K0 A0 K0 B0 1 K1 A1 K1 B1 2 K2 A2 K2 B2 3 K3 A3 NaN NaN 4 K4 A4 NaN NaN 5 K5 A5 NaN NaN
Если мы хотим объединить по ключевым столбцам, нам нужно установить key в качестве индекса как в
df, так и вother. Объединенный DataFrame будет иметь key в качестве индекса.>>> df.set_index('key').join(other.set_index('key')) A B key K0 A0 B0 K1 A1 B1 K2 A2 B2 K3 A3 NaN K4 A4 NaN K5 A5 NaNДругой вариант объединения по ключевым столбцам — использование параметра
on. DataFrame.join всегда использует индексother, но мы можем использовать любой столбец вdf. Этот метод сохраняет оригинальный индекс DataFrame в результате.>>> df.join(other.set_index('key'), on='key') key A B 0 K0 A0 B0 1 K1 A1 B1 2 K2 A2 B2 3 K3 A3 NaN 4 K4 A4 NaN 5 K5 A5 NaN -
© 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.25.0/reference/api/pandas.DataFrame.join.html