Polars top_k_by с Over, k = 1. Ошибка?Python

Программы на Python
Ответить
Anonymous
 Polars top_k_by с Over, k = 1. Ошибка?

Сообщение Anonymous »

Для следующего фрейма данных:

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

pl.DataFrame({
'A': ['a0', 'a0', 'a1', 'a1'],
'B': ['b1', 'b2', 'b1', 'b2'],
'x': [0, 10, 5, 1]
})
< /code>
Я хочу взять значение столбца B
с максимальным значением столбца x в пределах того же значения A (взято из этого вопроса).< /p>
Я знаю, что есть решение с помощью pl.Expr.get() и pl.Expr.arg_max(), но я хотел использовать pl.Expr.top_k_by( ) вместо этого, и по какой-то причине это не работает для меня с k = 1:

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

df.with_columns(
pl.col.B.top_k_by("x", 1).over("A").alias("y")
)
< /code>
ComputeError: the length of the window expression did not match that of the group

Error originated in expression: 'col("B").top_k_by([dyn int: 1, col("x")]).over([col("A")])'
< /code>
It does work for k
= 2, однако.
Вы думаете, что это ошибка?


Подробнее здесь: https://stackoverflow.com/questions/793 ... er-k-1-bug
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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