You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I love the interactive defaults of ibis, how it executes the first 10 rows of a table and shows them with rich. Gets me by for 95% of the time.
But sometimes I want to look at say 30 rows. Or I'm looking at long strings or long nested types, and I don't want them cut off, so I want to be able to set max_string and max_length.
Describe the solution you'd like
Something short and quick would be great!
An explicit method? Like Table.preview(max_rows, max_columns, max_string, max_length, show_dtypes, ...). This would just be the existing method __repr__ method, just exposed publicly.
implicitly? like Table.limit(30) just works and actually shows 30 rows? eg if the root Op was a LimitOp, then assume that is what the user wants, and use that instead of the config of 10. This has problems if the limit is like 10k or something and the user didn't actually want to preview the rows. So IDK, if less than 100 then use it, otherwise go back to the config value of 10? In the best case, this has the best UX, but also could lead to surprises. This also does not cover the other usecases (less needed for me, but would be nice) like max_string.
We could do either or both of these
Existing pandas solution
.limit(30).execute(), but that gives me a pandas table which I don't like because
it doesn't show the dtype
it doesn't show all columns (as ibis does, which I love)
ugly line wrapping in some consoles
Existing ibis config solution
set ibis.options.repr.interactive.max_rows = 30, and then unset afterwards.
What version of ibis are you running?
main
What backend(s) are you using, if any?
NA
Code of Conduct
I agree to follow this project's Code of Conduct
The text was updated successfully, but these errors were encountered:
Is your feature request related to a problem?
I love the interactive defaults of ibis, how it executes the first 10 rows of a table and shows them with rich. Gets me by for 95% of the time.
But sometimes I want to look at say 30 rows. Or I'm looking at long strings or long nested types, and I don't want them cut off, so I want to be able to set
max_string
andmax_length
.Describe the solution you'd like
Something short and quick would be great!
An explicit method? Like
Table.preview(max_rows, max_columns, max_string, max_length, show_dtypes, ...)
. This would just be the existing method__repr__
method, just exposed publicly.implicitly? like
Table.limit(30)
just works and actually shows 30 rows? eg if the root Op was a LimitOp, then assume that is what the user wants, and use that instead of the config of 10. This has problems if the limit is like 10k or something and the user didn't actually want to preview the rows. So IDK, if less than 100 then use it, otherwise go back to the config value of 10? In the best case, this has the best UX, but also could lead to surprises. This also does not cover the other usecases (less needed for me, but would be nice) like max_string.We could do either or both of these
Existing pandas solution
.limit(30).execute()
, but that gives me a pandas table which I don't like becauseExisting ibis config solution
set
ibis.options.repr.interactive.max_rows = 30
, and then unset afterwards.What version of ibis are you running?
main
What backend(s) are you using, if any?
NA
Code of Conduct
The text was updated successfully, but these errors were encountered: