Spec-Zone.ru › pandas 0.19

pandas.DataFrame.join

DataFrame.join(other, on=None, how='left', lsuffix='', rsuffix='', sort=False) [source]

Объединение столбцов с другим DataFrame по индексу или ключу столбца. Эффективно объединяет несколько объектов DataFrame по индексу сразу, передавая список.

Параметры:

other : DataFrame, Series со значением поля имени или список DataFrame

Индекс должен быть похож на один из столбцов в этом объекте. Если передаётся Series, его атрибут name должен быть установлен, и он будет использован в качестве имени столбца в результирующем объединённом DataFrame

on : имя столбца, кортеж/список имён столбцов или массив-подобный объект

Столбец(ы) в вызывающем объекте для объединения с индексом в other, в противном случае объединяет индекс на индекс. Если передано несколько столбцов, передаваемый DataFrame должен иметь MultiIndex. Можно передать массив в качестве ключа объединения, если он ещё не содержится в вызываемом DataFrame. Аналогично операции VLOOKUP в Excel

how : {‘left’, ‘right’, ‘outer’, ‘inner’}, по умолчанию: ‘left’

Как обрабатывать операцию с двумя объектами.

  • left: использовать индекс вызываемого фрейма (или столбец, если указан параметр on)
  • right: использовать индекс фрейма other
  • outer: сформировать объединение индекса вызываемого фрейма (или столбца, если параметр on

    указан) с индексом фрейма other

  • inner: сформировать пересечение индекса вызываемого фрейма (или столбца, если параметр on

    указан) с индексом фрейма other

lsuffix : строка

Суффикс, используемый для перекрывающихся столбцов из левого фрейма

rsuffix : строка

Суффикс, используемый для перекрывающихся столбцов из правого фрейма

sort : boolean, по умолчанию False

Сортировать результирующий DataFrame лексикографически по ключу объединения. Если False, сохраняет порядок индекса вызываемого (левого) DataFrame

Возвращает:

joined : DataFrame

См. также

DataFrame.merge
Для операций с столбцом(ами) на столбцом(ами)

Примечания

Параметры on, lsuffix и rsuffix не поддерживаются при передаче списка объектов DataFrame

Примеры

>>> caller = pd.DataFrame({'key': ['K0', 'K1', 'K2', 'K3', 'K4', 'K5'],
...                        'A': ['A0', 'A1', 'A2', 'A3', 'A4', 'A5']})
>>> caller
    A key
0  A0  K0
1  A1  K1
2  A2  K2
3  A3  K3
4  A4  K4
5  A5  K5
>>> other = pd.DataFrame({'key': ['K0', 'K1', 'K2'],
...                       'B': ['B0', 'B1', 'B2']})
>>> other
    B key
0  B0  K0
1  B1  K1
2  B2  K2

Объединение DataFrames, используя их индексы.

>>> caller.join(other, lsuffix='_caller', rsuffix='_other')
>>>     A key_caller    B key_other
    0  A0         K0   B0        K0
    1  A1         K1   B1        K1
    2  A2         K2   B2        K2
    3  A3         K3  NaN       NaN
    4  A4         K4  NaN       NaN
    5  A5         K5  NaN       NaN

Если нужно объединить по столбцам ключей, нужно установить key в индекс в both вызывающем и other. Объединённый DataFrame будет иметь key в качестве индекса.

>>> caller.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, но мы можем использовать любой столбец в вызывающем объекте. Этот метод сохраняет исходный индекс вызывающего объекта в результате.

>>> caller.join(other.set_index('key'), on='key')
>>>     A key    B
    0  A0  K0   B0
    1  A1  K1   B1
    2  A2  K2   B2
    3  A3  K3  NaN
    4  A4  K4  NaN
    5  A5  K5  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.19.2/generated/pandas.DataFrame.join.html

Spec-Zone.ru

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