Приведенный ниже код при многократном запуске дает мне два разных возможные результаты.
Код: Выделить всё
import polars as pl
df = pl.DataFrame(
{
"day": [2, 2, 2, 2, 2, 2, 1, 1],
"y": [4, 5, 8, 7, 9, None, None, None],
"x": [1, 2, 3, 4, 5, 6, 1, 2],
}
)
xcol = "x"
ycol = "y"
f = pl.col(ycol).is_not_null() & pl.col(xcol).is_not_null()
df.group_by("day").agg(
(pl.col(xcol) - pl.col(xcol).filter(f).mean()).filter(f).sum().alias("filered_sum")
)
Код: Выделить всё
day filtered_sum
1 null
2 -3.0
day filtered_sum
2 0.0
1 null
Код: Выделить всё
day filtered_sum
2 0.0
1 null
Подробнее здесь: https://stackoverflow.com/questions/754 ... by-context