Skip to content

[C++/Python] Pandas roundtrip for date objects #19041

@asfimport

Description

@asfimport

Arrow currently casts date objects to nanosecond precision datetime objects. I'd like to have a way to preserve the type during a roundtrip

>>> import pandas as pd
>>> import pyarrow as pa
>>> import datetime
>>> pa.date32().to_pandas_dtype()
dtype('<M8[ns]')
>>> df = pd.DataFrame({'date': [datetime.date(2018, 1, 1)]})
>>> df.dtypes
date object
dtype: object
>>> df_rountrip = pa.Table.from_pandas(df).to_pandas()
>>> df_rountrip.dtypes
date    datetime64[ns]
dtype: object

I'd expect something like this to work:

>>> import pandas.testing as pdt
>>> df_rountrip = pa.Table.from_pandas(df).to_pandas(date_as_object=True)
>>> pdt.assert_frame_equal(df_rountrip, df)

Reporter: Florian Jetter / @fjetter
Assignee: Krisztian Szucs / @kszucs

Related issues:

PRs and other links:

Note: This issue was originally created as ARROW-2646. Please see the migration documentation for further details.

Metadata

Metadata

Assignees

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions