pandas.merge_ordered#
- pandas.merge_ordered(left, правый, на=None, left_on=None, right_on=None, left_by=None, right_by=None, fill_method=None, суффиксы=('_x', '_y'), how='outer')[источник]#
Выполнить слияние для упорядоченных данных с опциональным заполнением/интерполяцией.
Предназначен для упорядоченных данных, таких как временные ряды. Опционально выполнять групповое слияние (см. примеры).
- Параметры:
- leftDataFrame или именованный Series
- правыйDataFrame или именованный Series
- наметка или список
Имена полей для объединения. Должны присутствовать в обоих DataFrame.
- left_onметка или список, или массивоподобный
Имена полей для объединения в левом DataFrame. Может быть вектором или списком векторов длины DataFrame, чтобы использовать конкретный вектор в качестве ключа объединения вместо столбцов.
- right_onметка или список, или массивоподобный
Имена полей для соединения в правом DataFrame или вектор/список векторов согласно документации left_on.
- left_byимя столбца или список имен столбцов
Группировать левый DataFrame по столбцам группировки и объединять по частям с правым DataFrame. Должно быть None, если левый или правый являются Series.
- right_byимя столбца или список имен столбцов
Группировка правого DataFrame по столбцам групп и слияние по частям с левым DataFrame. Должно быть None, если либо левый, либо правый являются Series.
- fill_method{‘ffill’, None}, по умолчанию None
Метод интерполяции для данных.
- суффиксысписок-подобный, по умолчанию (“_x”, “_y”)
Последовательность длины 2, где каждый элемент необязательно является строкой, указывающей суффикс для добавления к перекрывающимся именам столбцов в left и правый соответственно. Передайте значение None вместо строки, чтобы указать, что имя столбца из left или правый должен оставаться как есть, без суффикса. По крайней мере одно из значений не должно быть None.
- how{‘left’, ‘right’, ‘outer’, ‘inner’}, по умолчанию ‘outer’
left: использовать только ключи из левого фрейма (SQL: левое внешнее соединение)
right: использовать только ключи из правого фрейма (SQL: right outer join)
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