Skip to content

Compute the quantile per group

Description

Compute the quantile per group

Usage

<GroupBy>$quantile(
  quantile,
  interpolation = c("nearest", "higher", "lower", "midpoint", "linear")
)

Arguments

quantile Quantile between 0.0 and 1.0.
interpolation Interpolation method.

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")$quantile(0.5)
#> shape: (3, 4)
#> ┌─────┬──────┬─────┬──────┐
#> │ grp ┆ x    ┆ y   ┆ z    │
#> │ --- ┆ ---  ┆ --- ┆ ---  │
#> │ str ┆ f64  ┆ f64 ┆ bool │
#> ╞═════╪══════╪═════╪══════╡
#> │ c   ┆ 0.5  ┆ 2.0 ┆ null │
#> │ a   ┆ 13.0 ┆ 5.0 ┆ null │
#> │ b   ┆ 14.0 ┆ 6.0 ┆ null │
#> └─────┴──────┴─────┴──────┘