polars.LazyFrame.sort
-
Сортирует LazyFrame по заданным столбцам.
- Параметры:
-
- by
-
Столбец или столбцы для сортировки. Принимает выражения, включая селекторы. Строки интерпретируются как имена столбцов.
- *more_by
-
Дополнительные столбцы для сортировки, указываемые в виде позиционных аргументов.
- descending
-
Сортировать в порядке убывания. При сортировке по нескольким столбцам можно указать порядок для каждого столбца, передав последовательность логических значений.
- nulls_last
-
Размещать нулевые значения в конце; можно указать одно логическое значение для всех столбцов или последовательность логических значений для настройки каждого столбца.
- maintain_order
-
Сохранять ли порядок элементов с одинаковыми значениями. Обратите внимание: если
trueпотоковая обработка невозможна, производительность может снизиться, поскольку для этого требуется стабильный поиск. - multithreaded
-
Сортировать с использованием нескольких потоков.
Примеры
Передайте имя одного столбца, чтобы отсортировать данные по нему.
>>> lf = pl.LazyFrame( ... { ... "a": [1, 2, None], ... "b": [6.0, 5.0, 4.0], ... "c": ["a", "c", "b"], ... } ... ) >>> lf.sort("a").collect() shape: (3, 3) ┌──────┬─────┬─────┐ │ a ┆ b ┆ c │ │ --- ┆ --- ┆ --- │ │ i64 ┆ f64 ┆ str │ ╞══════╪═════╪═════╡ │ null ┆ 4.0 ┆ b │ │ 1 ┆ 6.0 ┆ a │ │ 2 ┆ 5.0 ┆ c │ └──────┴─────┴─────┘Также поддерживается сортировка по выражениям.
>>> lf.sort(pl.col("a") + pl.col("b") * 2, nulls_last=True).collect() shape: (3, 3) ┌──────┬─────┬─────┐ │ a ┆ b ┆ c │ │ --- ┆ --- ┆ --- │ │ i64 ┆ f64 ┆ str │ ╞══════╪═════╪═════╡ │ 2 ┆ 5.0 ┆ c │ │ 1 ┆ 6.0 ┆ a │ │ null ┆ 4.0 ┆ b │ └──────┴─────┴─────┘Чтобы отсортировать данные по нескольким столбцам, передайте список столбцов.
>>> lf.sort(["c", "a"], descending=True).collect() shape: (3, 3) ┌──────┬─────┬─────┐ │ a ┆ b ┆ c │ │ --- ┆ --- ┆ --- │ │ i64 ┆ f64 ┆ str │ ╞══════╪═════╪═════╡ │ 2 ┆ 5.0 ┆ c │ │ null ┆ 4.0 ┆ b │ │ 1 ┆ 6.0 ┆ a │ └──────┴─────┴─────┘
Или используйте позиционные аргументы для сортировки по нескольким столбцам тем же способом.
>>> lf.sort("c", "a", descending=[False, True]).collect() shape: (3, 3) ┌──────┬─────┬─────┐ │ a ┆ b ┆ c │ │ --- ┆ --- ┆ --- │ │ i64 ┆ f64 ┆ str │ ╞══════╪═════╪═════╡ │ 1 ┆ 6.0 ┆ a │ │ null ┆ 4.0 ┆ b │ │ 2 ┆ 5.0 ┆ c │ └──────┴─────┴─────┘
LazyFrame.sort(
by: IntoExpr | Iterable[IntoExpr],
*more_by: IntoExpr,
descending: bool | Sequence[bool] = False,
nulls_last: bool | Sequence[bool] = False,
maintain_order: bool = False,
multithreaded: bool = True,
) → LazyFrame
© 2020 Ritchie Vink
© 2022 Polars contributors
Licensed under the MIT License.
https://docs.pola.rs/api/python/stable/reference/lazyframe/api/polars.LazyFrame.sort.html