Format integer floats without .0 suffix#6951
Closed
emilk wants to merge 1 commit into
Closed
Conversation
Contributor
|
IIRC this is intentional to allow schema inference to work reliably, this probably does need to be an opt-in change |
Contributor
Specifically, it could be an option on https://docs.rs/arrow/latest/arrow/compute/kernels/cast/fn.cast_with_options.html |
emilk
added a commit
to rerun-io/rerun
that referenced
this pull request
Jan 7, 2025
### Related * Follow-up to #8590 * Part of #3741 * ~Blocked on apache/arrow-rs#6951 ### What Uses `arrow-rs` own formatting of arrow values. Unfortunately this adds a `.0` suffix to all integer floating point values, which makes them quite verbose. I will see if there is a way around that.
Contributor
Author
|
We decided that the extra |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Rationale for this change
When formatting 32-bit or 64-bit floats, the current formatter always includes a
.0suffix on integers, so that zero is formatted as0.0, one as1.0, etc. In cases where there is a lot of zeros (or integers), that can result in a lot of visual noise in the output.By contrast, the standard float formatter in Rust formats integers without a
.0suffix.Similarly, the float formatter for
f16in arrow also does not include the.0suffix, meaning the float formatting in arrow is inconsistent with bothstdand itself.Changes
This removes any
.0suffix on formatted floats, so that zero is always formatted as0, regardless if it is stored asf16,f32oru32.Alternatives
We could add this as an option to
FormatOptions, but that would require a larger refactor in order to accessFormatOptionsinimpl DisplayIndex for PrimitiveArray<Float32Type>