Spec-Zone.ru › pandas 2

pandas.merge_ordered

pandas.merge_ordered(left, right, on=None, left_on=None, right_on=None, left_by=None, right_by=None, fill_method=None, suffixes=('_x', '_y'), how='outer')[source]

Выполняет слияние упорядоченных данных с необязательным заполнением/интерполяцией.

Разработан для упорядоченных данных, таких как временные ряды. Необязательно выполняет слияние по группам (см. примеры).

Параметры:
left:DataFrame или именованный Series
right:DataFrame или именованный Series
on:имя или список

Имена полей для объединения. Должны быть найдены в обоих DataFrame.

left_on:имя или список, или массив-подобный объект

Имена полей для объединения в левом DataFrame. Может быть вектором или списком векторов длины DataFrame, чтобы использовать конкретный вектор в качестве ключа для объединения вместо столбцов.

right_on:имя или список, или массив-подобный объект

Имена полей для объединения в правом DataFrame или вектор/список векторов по документации left_on.

left_by:имя столбца или список имён столбцов

Группирует левый DataFrame по столбцам группы и выполняет объединение по частям с правым DataFrame. Должно быть None, если left или right являются Series.

right_by:имя столбца или список имён столбцов

Группирует правый DataFrame по столбцам группы и выполняет объединение по частям с левым DataFrame. Должно быть None, если left или right являются Series.

fill_method:{‘ffill’, None}, по умолчанию None

Метод интерполяции данных.

suffixes:последовательность длины 2, по умолчанию (“_x”, “_y”)

Последовательность длины 2, где каждый элемент является необязательно строкой, указывающей суффикс, который нужно добавить к совпадающим именам столбцов в left и right соответственно. Передайте значение None вместо строки, чтобы указать, что имя столбца из left или right должно остаться без суффикса. По крайней мере одно из значений должно быть не None.

how:{‘left’, ‘right’, ‘outer’, ‘inner’}, по умолчанию ‘outer’
  • left: использует только ключи из левой таблицы (SQL: левое внешнее соединение)

  • right: использует только ключи из правой таблицы (SQL: правое внешнее соединение)

  • outer: использует объединение ключей из обеих таблиц (SQL: полное внешнее соединение)

  • inner: использует пересечение ключей из обеих таблиц (SQL: внутреннее соединение).

Возвращаемые значения:
DataFrame

Тип возвращаемого значения DataFrame будет таким же, как у ‘left’, если это подкласс DataFrame.

См. также

merge

Объединение в стиле баз данных.

merge_asof

Объединение по ближайшим ключам.

Примеры

>>> from pandas import merge_ordered
>>> df1 = pd.DataFrame(
...     {
...         "key": ["a", "c", "e", "a", "c", "e"],
...         "lvalue": [1, 2, 3, 1, 2, 3],
...         "group": ["a", "a", "a", "b", "b", "b"]
...     }
... )
>>> df1
  key  lvalue group
0   a       1     a
1   c       2     a
2   e       3     a
3   a       1     b
4   c       2     b
5   e       3     b
>>> df2 = pd.DataFrame({"key": ["b", "c", "d"], "rvalue": [1, 2, 3]})
>>> df2
  key  rvalue
0   b       1
1   c       2
2   d       3
>>> merge_ordered(df1, df2, fill_method="ffill", left_by="group")
  key  lvalue group  rvalue
0   a       1     a     NaN
1   b       1     a     1.0
2   c       2     a     2.0
3   d       2     a     3.0
4   e       3     a     3.0
5   a       1     b     NaN
6   b       1     b     1.0
7   c       2     b     2.0
8   d       2     b     3.0
9   e       3     b     3.0

© 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/2.2.2/reference/api/pandas.merge_ordered.html

Spec-Zone.ru

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