Предупреждение об агрегировании полярностей с использованием When->thenPython

Программы на Python
Anonymous
Предупреждение об агрегировании полярностей с использованием When->then

Сообщение Anonymous »

Обратите внимание на следующее:

Код: Выделить всё

import polars as pl

df = pl.from_repr("""
┌─────┬─────┐
│ a   ┆ b   │
│ --- ┆ --- │
│ i64 ┆ i64 │
╞═════╪═════╡
│ 1   ┆ 1   │
│ 2   ┆ 1   │
└─────┴─────┘
""")

Код: Выделить всё

In [10]: df.group_by("a").agg(pl.when(pl.col("b") == 1).then(pl.col("b")))
The predicate '[(col("b")) == (1)]' in 'when->then->otherwise' is not a valid aggregation and might produce a different number of rows than the groupby operation would. This behavior is experimental and may be subject to change
Out[10]:
shape: (2, 2)
┌─────┬───────────┐
│ a   ┆ b         │
│ --- ┆ ---       │
│ i64 ┆ list[i64] │
╞═════╪═══════════╡
│ 2   ┆ [1]       │
│ 1   ┆ [1]       │
└─────┴───────────┘
Есть ли повод для беспокойства? Оператор When->then должен возвращать значение, даже если оно равно нулю.


Подробнее здесь: https://stackoverflow.com/questions/763 ... -when-then

Вернуться в «Python»