You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@arrow.apache.org by "Wes McKinney (JIRA)" <ji...@apache.org> on 2018/09/13 21:17:00 UTC

[jira] [Resolved] (ARROW-2646) [C++/Python] Pandas roundtrip for date objects

     [ https://issues.apache.org/jira/browse/ARROW-2646?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Wes McKinney resolved ARROW-2646.
---------------------------------
    Resolution: Fixed

Issue resolved by pull request 2535
[https://github.com/apache/arrow/pull/2535]

> [C++/Python] Pandas roundtrip for date objects
> ----------------------------------------------
>
>                 Key: ARROW-2646
>                 URL: https://issues.apache.org/jira/browse/ARROW-2646
>             Project: Apache Arrow
>          Issue Type: Bug
>          Components: C++, Python
>    Affects Versions: 0.9.0
>            Reporter: Florian Jetter
>            Assignee: Krisztian Szucs
>            Priority: Minor
>              Labels: pull-request-available
>             Fix For: 0.11.0
>
>          Time Spent: 2h 20m
>  Remaining Estimate: 0h
>
> Arrow currently casts date objects to nanosecond precision datetime objects. I'd like to have a way to preserve the type during a roundtrip
> {code}
> >>> 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
> {code}
> I'd expect something like this to work:
> {code}
> >>> 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)
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)