Skip to content

to_dataframe: an integer above 2**53 next to a float is rounded by pandas, the other readers keep it exact #340

Open

Description

@tae898

Found while writing the docs for the 26.11.1.post1 candidate (the docs branch read the code of #331 and checked the behaviour with pandas).

For a result column that holds an integer above 2**53 next to a floating point value, the readers of #331 keep the integer exact: to_columns() returns an exact Python list, and to_arrow() and to_polars() return a string column of the exact text. to_dataframe() is the exception: it hands the exact list to pandas, which infers float64 and rounds the integer. The same data therefore gives an exact value in three readers and a rounded one in the fourth.

Proposal: build such a column as an object Series in to_dataframe() (both wheels share the decoder, so the change is in one place), and add a test next to the 2**60 + 1 and 1.5 cases that #331 already has for to_columns() and to_arrow(). It is not part of 26.11.1.post1: that candidate is built and tested, and this changes a reader's output type for a rare shape. It goes into the next patch.

Activity

  1. added this to the 26.12.1 milestone on Nov 9, 2026
  2. self-assigned this
    on Nov 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

pythonPull requests that update python code

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions