Skip to content

Count the unique values per group

Description

Count the unique values per group

Usage

<GroupBy>$n_unique()

Value

A polars DataFrame

Examples

library("polars")

df <- pl$DataFrame(
  grp = c("c", "c", "a", "c", "a", "b"),
  x = c(0.5, 0.5, 4, 10, 13, 14),
  y = 1:6,
  z = c(TRUE, TRUE, FALSE, TRUE, FALSE, TRUE)
)
df
#> shape: (6, 4)
#> ┌─────┬──────┬─────┬───────┐
#> │ grp ┆ x    ┆ y   ┆ z     │
#> │ --- ┆ ---  ┆ --- ┆ ---   │
#> │ str ┆ f64  ┆ i32 ┆ bool  │
#> ╞═════╪══════╪═════╪═══════╡
#> │ c   ┆ 0.5  ┆ 1   ┆ true  │
#> │ c   ┆ 0.5  ┆ 2   ┆ true  │
#> │ a   ┆ 4.0  ┆ 3   ┆ false │
#> │ c   ┆ 10.0 ┆ 4   ┆ true  │
#> │ a   ┆ 13.0 ┆ 5   ┆ false │
#> │ b   ┆ 14.0 ┆ 6   ┆ true  │
#> └─────┴──────┴─────┴───────┘
df$group_by("grp")$n_unique()
#> shape: (3, 4)
#> ┌─────┬─────┬─────┬─────┐
#> │ grp ┆ x   ┆ y   ┆ z   │
#> │ --- ┆ --- ┆ --- ┆ --- │
#> │ str ┆ u32 ┆ u32 ┆ u32 │
#> ╞═════╪═════╪═════╪═════╡
#> │ a   ┆ 2   ┆ 2   ┆ 1   │
#> │ b   ┆ 1   ┆ 1   ┆ 1   │
#> │ c   ┆ 2   ┆ 3   ┆ 1   │
#> └─────┴─────┴─────┴─────┘