1717 pa_version_under13p0 ,
1818 pa_version_under15p0 ,
1919 pa_version_under17p0 ,
20- pa_version_under18p0 ,
2120)
2221
2322import pandas as pd
@@ -977,18 +976,6 @@ def test_timestamp_nanoseconds(self, pa):
977976 def test_timezone_aware_index (self , request , pa , timezone_aware_date_list ):
978977 pytest .importorskip ("pyarrow" , "11.0.0" )
979978
980- if (
981- timezone_aware_date_list .tzinfo != datetime .timezone .utc
982- and pa_version_under18p0
983- ):
984- request .applymarker (
985- pytest .mark .xfail (
986- reason = (
987- "pyarrow returns pytz.FixedOffset while pandas "
988- "constructs datetime.timezone https://github.com/pandas-dev/pandas/issues/37286"
989- )
990- )
991- )
992979 idx = 5 * [timezone_aware_date_list ]
993980 df = pd .DataFrame (index = idx , data = {"index_as_col" : idx })
994981
@@ -1005,6 +992,15 @@ def test_timezone_aware_index(self, request, pa, timezone_aware_date_list):
1005992 expected = df [:]
1006993 if pa_version_under11p0 :
1007994 expected .index = expected .index .as_unit ("ns" )
995+ if timezone_aware_date_list .tzinfo != datetime .timezone .utc :
996+ # pyarrow returns pytz.FixedOffset while pandas constructs datetime.timezone
997+ # https://github.com/pandas-dev/pandas/issues/37286
998+ import pytz
999+
1000+ offset = df .index .tz .utcoffset (timezone_aware_date_list )
1001+ tz = pytz .FixedOffset (offset .total_seconds () / 60 )
1002+ expected .index = expected .index .tz_convert (tz )
1003+ expected ["index_as_col" ] = expected ["index_as_col" ].dt .tz_convert (tz )
10081004 check_round_trip (df , pa , check_dtype = False , expected = expected )
10091005
10101006 def test_filter_row_groups (self , pa ):
0 commit comments