Preciso calcular a porcentagem de valores positivos na value
coluna agrupados pela group
coluna.
import polars as pl
df = pl.DataFrame(
{
"group": ["A", "A", "A", "A", "A", "B", "B", "B", "B", "B"],
"value": [2, -1, 3, 1, -2, 1, 2, -1, 3, 2],
}
)
shape: (10, 2)
┌───────┬───────┐
│ group ┆ value │
│ --- ┆ --- │
│ str ┆ i64 │
╞═══════╪═══════╡
│ A ┆ 2 │
│ A ┆ -1 │
│ A ┆ 3 │
│ A ┆ 1 │
│ A ┆ -2 │
│ B ┆ 1 │
│ B ┆ 2 │
│ B ┆ -1 │
│ B ┆ 3 │
│ B ┆ 2 │
└───────┴───────┘
No grupo A
há 3 de 5 valores positivos (60%), enquanto na coluna B
há 4 de 5 valores positivos (80%).
Aqui está o dataframe esperado.
┌────────┬──────────────────┐
│ group ┆ positive_percent │
│ --- ┆ --- │
│ str ┆ f64 │
╞════════╪══════════════════╡
│ A ┆ 0.6 │
│ B ┆ 0.8 │
└────────┴──────────────────┘