polars.merge_sorted
-
Объединяет несколько отсортированных DataFrame или LazyFrame по ключу сортировки.
Результат этой операции также будет отсортирован. Вызывающий код должен обеспечить сортировку фреймов по этому ключу (или ключам) в порядке возрастания, иначе результат не будет иметь смысла.
Предупреждение
Эта функциональность считается нестабильной. Она может быть изменена в любой момент без того, чтобы это считалось нарушением обратной совместимости.
- Параметры:
-
- items
-
DataFrame или LazyFrame для объединения.
- key
-
Столбец (или столбцы), по которым отсортированы фреймы. Можно передать имя одного столбца или последовательность имён столбцов. Если указано несколько ключей, фреймы объединяются так, как если бы они были отсортированы по этим ключам в указанном порядке.
- maintain_order
-
Если
True, для одинаковых ключей гарантируется порядок с приоритетом левого фрейма: строки из левого фрейма располагаются перед строками из правого фрейма, если их ключи совпадают.
Примечания
Если не задано
maintain_order=True, порядок строк в результате при совпадении ключей в разных DataFrame не гарантируется.Ключи должны быть отсортированы в порядке возрастания.
Примеры
>>> df0 = pl.DataFrame( ... {"name": ["steve", "elise", "bob"], "age": [42, 44, 18]} ... ).sort("age") >>> df1 = pl.DataFrame( ... {"name": ["anna", "megan", "steve", "thomas"], "age": [21, 33, 17, 20]} ... ).sort("age") >>> df2 = pl.DataFrame({"name": ["ida", "maya"], "age": [37, 27]}).sort("age") >>> pl.merge_sorted([df0, df1, df2], key="age") shape: (9, 2) ┌────────┬─────┐ │ name ┆ age │ │ --- ┆ --- │ │ str ┆ i64 │ ╞════════╪═════╡ │ steve ┆ 17 │ │ bob ┆ 18 │ │ thomas ┆ 20 │ │ anna ┆ 21 │ │ maya ┆ 27 │ │ megan ┆ 33 │ │ ida ┆ 37 │ │ steve ┆ 42 │ │ elise ┆ 44 │ └────────┴─────┘
polars.merge_sorted(
items: Iterable[PolarsType],
key: str | Sequence[str],
*,
maintain_order: bool = False,
) → PolarsType
© 2020 Ritchie Vink
© 2022 Polars contributors
Licensed under the MIT License.
https://docs.pola.rs/api/python/stable/reference/api/polars.merge_sorted.html