You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@arrow.apache.org by "Joris Van den Bossche (Jira)" <ji...@apache.org> on 2020/09/10 13:30:00 UTC
[jira] [Created] (ARROW-9962) [Python] Conversion to pandas with
index column using fixed timezone fails
Joris Van den Bossche created ARROW-9962:
--------------------------------------------
Summary: [Python] Conversion to pandas with index column using fixed timezone fails
Key: ARROW-9962
URL: https://issues.apache.org/jira/browse/ARROW-9962
Project: Apache Arrow
Issue Type: Bug
Components: Python
Reporter: Joris Van den Bossche
From https://github.com/pandas-dev/pandas/issues/35997: it seems we are handling a normal column and index column differently in the conversion to pandas.
{code}
In [5]: import pandas as pd
...: from datetime import datetime, timezone
...:
...: df = pd.DataFrame([[datetime.now(timezone.utc), datetime.now(timezone.utc)]], columns=['date_index', 'date_column'])
...: table = pa.Table.from_pandas(df.set_index('date_index'))
...:
In [6]: table
Out[6]:
pyarrow.Table
date_column: timestamp[ns, tz=+00:00]
date_index: timestamp[ns, tz=+00:00]
In [7]: table.to_pandas()
...
UnknownTimeZoneError: '+00:00'
{code}
So this happens specifically for "fixed offset" timezones, and only for index columns (eg {{table.select(["date_column"]).to_pandas()}} works fine).
It seems this is because for columns we use our helper {{make_tz_aware}} to convert the string "+01:00" to a python timezone, which is then understood by pandas (the string is not handled by pandas). But for the index column we fail to do this.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)