Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: pandas-compatible (ish) APIs #10917

Open
1 task done
tswast opened this issue Feb 28, 2025 · 0 comments
Open
1 task done

feat: pandas-compatible (ish) APIs #10917

tswast opened this issue Feb 28, 2025 · 0 comments
Labels
feature Features or general enhancements

Comments

@tswast
Copy link
Collaborator

tswast commented Feb 28, 2025

Is your feature request related to a problem?

When pointing folks at Ibis, there is a frustration of having to learn a new API.

What is the motivation behind your request?

There's a few folks who've reached out to me / the bigframes team who might actually be a better fit for ibis if there was a more pandas-compatible (but not as pandas-compatible as bigframes) API with regards to method names, parameters, and the like.

Some customers dislike how far the pandas model gets away from SQL (e.g. indexes, especially multi-indexes, deterministic total ordering, labels that aren't just the column names) as it adds complexity both to their mental model as well as the generated SQL at times. They do like that bigframes provides familiar method names and parameters, though.

Describe the solution you'd like

That's very similar to the early versions of bigframes, but now bigframes has many layers of complexity on top of ibis. I'd be open to contributing some of what we had in the early days here if that's a direction we'd like to go.

Basically, we had DataFrame wrap an Ibis Table expression and a Series was a thin wrapper around an Ibis Column expression. These would provide pandas-compatible method names and parameters but otherwise be 1:1 with a Table or Column.

We could introduce this as ibis.pandas.* in line with pyspark.pandas.* and bigframes.pandas.*.

What version of ibis are you running?

N/A

What backend(s) are you using, if any?

BigQuery

Code of Conduct

  • I agree to follow this project's Code of Conduct
@tswast tswast added the feature Features or general enhancements label Feb 28, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature Features or general enhancements
Projects
Status: backlog
Development

No branches or pull requests

1 participant