polars.DataFrame.n_unique
-
Возвращает количество уникальных строк или уникальных подмножеств строк.
- Параметры:
-
- 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
DataFrame.n_unique(
subset: str | Expr | Sequence[str | Expr] | None = None,
) → int
© 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