Albert Shieh created ARROW-1958:
-----------------------------------
Summary: [Python] Error in pandas conversion for datetimetz row
index
Key: ARROW-1958
URL: https://issues.apache.org/jira/browse/ARROW-1958
Project: Apache Arrow
Issue Type: Bug
Components: C
Affects Versions: 0.8.0
Environment: Ubuntu 16.04
Reporter: Albert Shieh
The pandas conversion of a datetimetz row index in a Table fails with non-UTC
time zones because the values are stored as datetime64\[ns\] and interpreted as
datetime64\[ns, tz\], rather than interpreted as datetime64\[ns, UTC\] and
converted to datetime64\[ns, tz\]. There's correct handling for time zones for
columns in Column.to_pandas, but not for the row index in table_to_blockmanager.
This is a minimal example demonstrating the failure of a roundtrip between a
DataFrame and a Table:
{code}
import pandas as pd
import pyarrow as pa
df = pd.DataFrame({
'a': pd.date_range(
start='2017-01-01', periods=3, tz='America/New_York'
)
})
df.set_index('a')
df_pa = pa.Table.from_pandas(df).to_pandas()
print(df)
print(df_pa)
{code}
The output is:
{noformat}
Empty DataFrame
Columns: []
Index: [2017-01-01 00:00:00-05:00, 2017-01-02 00:00:00-05:00, 2017-01-03
00:00:00-05:00]
Empty DataFrame
Columns: []
Index: [2017-01-01 05:00:00-05:00, 2017-01-02 05:00:00-05:00, 2017-01-03
05:00:00-05:00]
{noformat}
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)