But with the polars backend, the above code fails with the following exception:
OperationNotDefinedError: No translation rule for <class 'ibis.expr.operations.window.WindowFunction'>
What is the motivation behind your request?
This argmax or topk pattern is a common need for data analysis and a common SQL idiom. Other ways of implementing this, like with a join, would be less efficient.
Describe the solution you'd like
Ideally the above code would be translated to something like this Polars code:
penguins.group_by(
'species'
).agg(
pl.all().top_k_by(by='bill_length_mm', k=1).first() # Get the top 1 row by bill_length_mm within each group
)
What version of ibis are you running?
9.5.0
What backend(s) are you using, if any?
Polars
Code of Conduct
[X] I agree to follow this project's Code of Conduct
Is your feature request related to a problem?
Consider this question: "Find the penguin with the longest bill per species".
The following code works with the
duckdb
andsqlite
backends:But with the
polars
backend, the above code fails with the following exception:What is the motivation behind your request?
This
argmax
ortopk
pattern is a common need for data analysis and a common SQL idiom. Other ways of implementing this, like with a join, would be less efficient.Describe the solution you'd like
Ideally the above code would be translated to something like this Polars code:
What version of ibis are you running?
9.5.0
What backend(s) are you using, if any?
Polars
Code of Conduct