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