@@ -712,6 +712,31 @@ def test_timestamp_nanoseconds(self, pa):
712
712
df = pd .DataFrame ({"a" : pd .date_range ("2017-01-01" , freq = "1n" , periods = 10 )})
713
713
check_round_trip (df , pa , write_kwargs = {"version" : "2.0" })
714
714
715
+ @td .skip_if_no ("pyarrow" , min_version = "0.14" )
716
+ @pytest .mark .parametrize (
717
+ "date_value" ,
718
+ [
719
+ datetime .datetime .now (datetime .timezone .utc ),
720
+ datetime .datetime .strptime (
721
+ "2019-01-04T16:41:24-0215" , "%Y-%m-%dT%H:%M:%S%z"
722
+ ),
723
+ datetime .datetime .strptime (
724
+ "2019-01-04T16:41:24-0215" , "%Y-%m-%dT%H:%M:%S%z"
725
+ ),
726
+ datetime .datetime .strptime (
727
+ "2019-01-04T16:41:24-0215" , "%Y-%m-%dT%H:%M:%S%z"
728
+ ),
729
+ datetime .datetime .strptime (
730
+ "2019-01-04T16:41:24-0215" , "%Y-%m-%dT%H:%M:%S%z"
731
+ ),
732
+ ],
733
+ )
734
+ def test_timezone_aware_index (self , pa , date_value ):
735
+ idx = 5 * [date_value ]
736
+
737
+ df = pd .DataFrame (index = idx )
738
+ check_round_trip (df , pa , write_kwargs = {"version" : "2.0" })
739
+
715
740
@td .skip_if_no ("pyarrow" , min_version = "0.17" )
716
741
def test_filter_row_groups (self , pa ):
717
742
# https://github.com/pandas-dev/pandas/issues/26551
@@ -850,3 +875,30 @@ def test_empty_dataframe(self, fp):
850
875
expected = df .copy ()
851
876
expected .index .name = "index"
852
877
check_round_trip (df , fp , expected = expected )
878
+
879
+ @pytest .mark .parametrize (
880
+ "date_value" ,
881
+ [
882
+ datetime .datetime .now (datetime .timezone .utc ),
883
+ datetime .datetime .strptime (
884
+ "2019-01-04T16:41:24-0215" , "%Y-%m-%dT%H:%M:%S%z"
885
+ ),
886
+ datetime .datetime .strptime (
887
+ "2019-01-04T16:41:24-0215" , "%Y-%m-%dT%H:%M:%S%z"
888
+ ),
889
+ datetime .datetime .strptime (
890
+ "2019-01-04T16:41:24-0215" , "%Y-%m-%dT%H:%M:%S%z"
891
+ ),
892
+ datetime .datetime .strptime (
893
+ "2019-01-04T16:41:24-0215" , "%Y-%m-%dT%H:%M:%S%z"
894
+ ),
895
+ ],
896
+ )
897
+ def test_timezone_aware_index (self , fp , date_value ):
898
+ idx = 5 * [date_value ]
899
+
900
+ df = pd .DataFrame (index = idx , data = {"col" : 5 * [0 ]})
901
+
902
+ expected = df .copy ()
903
+ expected .index .name = "index"
904
+ check_round_trip (df , fp , expected = expected )
0 commit comments