Spec-Zone.ru › Polars

polars.LazyFrame.top_k

LazyFrame.top_k(
    k: int,
    *,
    by: IntoExpr | Iterable[IntoExpr],
    reverse: bool | Sequence[bool] = False,
) → LazyFrame

Возвращает k строк с наибольшими значениями.

Ненулевые элементы всегда имеют приоритет над нулевыми, независимо от значения reverse. Порядок результатов не гарантируется; если вы хотите отсортировать результаты, вызовите sort() после этой функции.

движок:В памятиПотоковыйРаспределённый

Изменено в версии 1.0.0: Параметр descending был переименован в reverse.

Параметры:
k

Количество строк для возврата.

by

Столбец (столбцы), используемый для определения строк с наибольшими значениями. Принимает выражения. Строки интерпретируются как имена столбцов.

reverse

Рассматривать k наименьших элементов столбца (столбцов) by (вместо k наибольших). Для каждого столбца можно задать отдельное значение, передав последовательность логических значений.

См. также

bottom_k

Примеры

>>> lf = pl.LazyFrame(
...     {
...         "a": ["a", "b", "a", "b", "b", "c"],
...         "b": [2, 1, 1, 3, 2, 1],
...     }
... )

Получить строки, содержащие 4 наибольших значения в столбце b.

>>> lf.top_k(4, by="b").collect()
shape: (4, 2)
┌─────┬─────┐
│ a   ┆ b   │
│ --- ┆ --- │
│ str ┆ i64 │
╞═════╪═════╡
│ b   ┆ 3   │
│ a   ┆ 2   │
│ b   ┆ 2   │
│ b   ┆ 1   │
└─────┴─────┘

Получить строки, содержащие 4 наибольших значения при сортировке по столбцам b и a.

>>> lf.top_k(4, by=["b", "a"]).collect()
shape: (4, 2)
┌─────┬─────┐
│ a   ┆ b   │
│ --- ┆ --- │
│ str ┆ i64 │
╞═════╪═════╡
│ b   ┆ 3   │
│ b   ┆ 2   │
│ a   ┆ 2   │
│ c   ┆ 1   │
└─────┴─────┘

© 2020 Ritchie Vink
© 2022 Polars contributors
Licensed under the MIT License.
https://docs.pola.rs/api/python/stable/reference/lazyframe/api/polars.LazyFrame.top_k.html

Spec-Zone.ru

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