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)

Reply via email to