Spec-Zone.ru › Polars

polars.DataFrame.n_unique

DataFrame.n_unique(
    subset: str | Expr | Sequence[str | Expr] | None = None,
) → int

Возвращает количество уникальных строк или уникальных подмножеств строк.

Параметры:
subset

Один или несколько столбцов/выражений, определяющих, что считать; если опустить этот параметр, будет возвращено количество уникальных строк.

Примечания

Этот метод работает на уровне DataFrame; чтобы работать с подмножествами на уровне выражений, можно вместо этого использовать упаковку в struct, например:

>>> expr_unique_subset = pl.struct("a", "b").n_unique()

Если же вы хотите подсчитать количество уникальных значений в каждом столбце, можно использовать синтаксис уровня выражений, чтобы вернуть новый фрейм с этим результатом:

>>> df = pl.DataFrame(
...     [[1, 2, 3], [1, 2, 4]], schema=["a", "b", "c"], orient="row"
... )
>>> df_nunique = df.select(pl.all().n_unique())

В контексте агрегации также есть эквивалентный метод для возврата уникальных значений в каждой группе:

>>> df_agg_nunique = df.group_by("a").n_unique()

Примеры

>>> df = pl.DataFrame(
...     {
...         "a": [1, 1, 2, 3, 4, 5],
...         "b": [0.5, 0.5, 1.0, 2.0, 3.0, 3.0],
...         "c": [True, True, True, False, True, True],
...     }
... )
>>> df.n_unique()
5

Подмножество из обычных столбцов.

>>> df.n_unique(subset=["b", "c"])
4

Подмножество из выражений.

>>> df.n_unique(
...     subset=[
...         (pl.col("a") // 2),
...         (pl.col("c") | (pl.col("b") >= 2)),
...     ],
... )
3

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

Spec-Zone.ru

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