I have a use case where the loss of precision in casting integers to floats matters, and pandas supports storing integers with nulls without loss of precision in object columns. However, a roundtrip through arrow will cast the object columns to float columns, even though the object columns are stored in arrow as integers with nulls.
This is a minimal example demonstrating the behavior of a roundtrip:
The output is:
This seems to be the desired behavior, given test_int_object_nulls in test_convert_pandas.
I think it would be useful to add an option in the to_pandas methods to allow integers with nulls to be returned as object columns. The option can default to false in order to preserve the current behavior.