@@ -732,30 +732,21 @@ def test_fillna_datetime64(self):
732
732
dtype = object )
733
733
self .assert_index_equal (idx .fillna ('x' ), exp )
734
734
735
- def test_difference_of_union (self ):
736
- # GH14323: Test taking the union of differences of an Index.
737
- # Difference of DatetimeIndex does not preserve frequency,
738
- # so a differencing operation should not retain the freq field of the
739
- # original index.
740
- i = pd .date_range ("20160920" , "20160925" , freq = "D" )
741
-
742
- a = pd .date_range ("20160921" , "20160924" , freq = "D" )
743
- expected = pd .DatetimeIndex (["20160920" , "20160925" ], freq = None )
744
- a_diff = i .difference (a )
745
- tm .assert_index_equal (a_diff , expected )
746
- tm .assert_attr_equal ('freq' , a_diff , expected )
747
-
748
- b = pd .date_range ("20160922" , "20160925" , freq = "D" )
749
- b_diff = i .difference (b )
750
- expected = pd .DatetimeIndex (["20160920" , "20160921" ], freq = None )
751
- tm .assert_index_equal (b_diff , expected )
752
- tm .assert_attr_equal ('freq' , b_diff , expected )
753
-
754
- union_of_diff = a_diff .union (b_diff )
755
- expected = pd .DatetimeIndex (["20160920" , "20160921" , "20160925" ],
756
- freq = None )
757
- tm .assert_index_equal (union_of_diff , expected )
758
- tm .assert_attr_equal ('freq' , union_of_diff , expected )
735
+ def test_difference_freq (self ):
736
+ # GH14323: difference of DatetimeIndex should not preserve frequency
737
+
738
+ index = date_range ("20160920" , "20160925" , freq = "D" )
739
+ other = date_range ("20160921" , "20160924" , freq = "D" )
740
+ expected = DatetimeIndex (["20160920" , "20160925" ], freq = None )
741
+ idx_diff = index .difference (other )
742
+ tm .assert_index_equal (idx_diff , expected )
743
+ tm .assert_attr_equal ('freq' , idx_diff , expected )
744
+
745
+ other = date_range ("20160922" , "20160925" , freq = "D" )
746
+ idx_diff = index .difference (other )
747
+ expected = DatetimeIndex (["20160920" , "20160921" ], freq = None )
748
+ tm .assert_index_equal (idx_diff , expected )
749
+ tm .assert_attr_equal ('freq' , idx_diff , expected )
759
750
760
751
761
752
class TestPeriodIndex (DatetimeLike , tm .TestCase ):
@@ -963,29 +954,23 @@ def test_no_millisecond_field(self):
963
954
with self .assertRaises (AttributeError ):
964
955
DatetimeIndex ([]).millisecond
965
956
966
- def test_difference_of_union (self ):
967
- # GH14323: Test taking the union of differences of an Index.
968
- # Difference of Period MUST preserve frequency, but the ability
969
- # to union results must be preserved
970
- i = pd .period_range ("20160920" , "20160925" , freq = "D" )
971
-
972
- a = pd .period_range ("20160921" , "20160924" , freq = "D" )
973
- expected = pd .PeriodIndex (["20160920" , "20160925" ], freq = 'D' )
974
- a_diff = i .difference (a )
975
- tm .assert_index_equal (a_diff , expected )
976
- tm .assert_attr_equal ('freq' , a_diff , expected )
977
-
978
- b = pd .period_range ("20160922" , "20160925" , freq = "D" )
979
- b_diff = i .difference (b )
980
- expected = pd .PeriodIndex (["20160920" , "20160921" ], freq = 'D' )
981
- tm .assert_index_equal (b_diff , expected )
982
- tm .assert_attr_equal ('freq' , b_diff , expected )
983
-
984
- union_of_diff = a_diff .union (b_diff )
985
- expected = pd .PeriodIndex (["20160920" , "20160921" , "20160925" ],
986
- freq = 'D' )
987
- tm .assert_index_equal (union_of_diff , expected )
988
- tm .assert_attr_equal ('freq' , union_of_diff , expected )
957
+ def test_difference_freq (self ):
958
+ # GH14323: difference of Period MUST preserve frequency
959
+ # but the ability to union results must be preserved
960
+
961
+ index = period_range ("20160920" , "20160925" , freq = "D" )
962
+
963
+ other = period_range ("20160921" , "20160924" , freq = "D" )
964
+ expected = PeriodIndex (["20160920" , "20160925" ], freq = 'D' )
965
+ idx_diff = index .difference (other )
966
+ tm .assert_index_equal (idx_diff , expected )
967
+ tm .assert_attr_equal ('freq' , idx_diff , expected )
968
+
969
+ other = period_range ("20160922" , "20160925" , freq = "D" )
970
+ idx_diff = index .difference (other )
971
+ expected = PeriodIndex (["20160920" , "20160921" ], freq = 'D' )
972
+ tm .assert_index_equal (idx_diff , expected )
973
+ tm .assert_attr_equal ('freq' , idx_diff , expected )
989
974
990
975
991
976
class TestTimedeltaIndex (DatetimeLike , tm .TestCase ):
@@ -1199,27 +1184,19 @@ def test_fillna_timedelta(self):
1199
1184
[pd .Timedelta ('1 day' ), 'x' , pd .Timedelta ('3 day' )], dtype = object )
1200
1185
self .assert_index_equal (idx .fillna ('x' ), exp )
1201
1186
1202
- def test_difference_of_union (self ):
1203
- # GH14323: Test taking the union of differences of an Index.
1204
- # Difference of TimedeltaIndex does not preserve frequency,
1205
- # so a differencing operation should not retain the freq field of the
1206
- # original index.
1207
- i = pd .timedelta_range ("0 days" , "5 days" , freq = "D" )
1208
-
1209
- a = pd .timedelta_range ("1 days" , "4 days" , freq = "D" )
1210
- expected = pd .TimedeltaIndex (["0 days" , "5 days" ], freq = None )
1211
- a_diff = i .difference (a )
1212
- tm .assert_index_equal (a_diff , expected )
1213
- tm .assert_attr_equal ('freq' , a_diff , expected )
1214
-
1215
- b = pd .timedelta_range ("2 days" , "5 days" , freq = "D" )
1216
- b_diff = i .difference (b )
1217
- expected = pd .TimedeltaIndex (["0 days" , "1 days" ], freq = None )
1218
- tm .assert_index_equal (b_diff , expected )
1219
- tm .assert_attr_equal ('freq' , b_diff , expected )
1220
-
1221
- union_of_difference = a_diff .union (b_diff )
1222
- expected = pd .TimedeltaIndex (["0 days" , "1 days" , "5 days" ],
1223
- freq = None )
1224
- tm .assert_index_equal (union_of_difference , expected )
1225
- tm .assert_attr_equal ('freq' , union_of_difference , expected )
1187
+ def test_difference_freq (self ):
1188
+ # GH14323: Difference of TimedeltaIndex should not preserve frequency
1189
+
1190
+ index = timedelta_range ("0 days" , "5 days" , freq = "D" )
1191
+
1192
+ other = timedelta_range ("1 days" , "4 days" , freq = "D" )
1193
+ expected = TimedeltaIndex (["0 days" , "5 days" ], freq = None )
1194
+ idx_diff = index .difference (other )
1195
+ tm .assert_index_equal (idx_diff , expected )
1196
+ tm .assert_attr_equal ('freq' , idx_diff , expected )
1197
+
1198
+ other = timedelta_range ("2 days" , "5 days" , freq = "D" )
1199
+ idx_diff = index .difference (other )
1200
+ expected = TimedeltaIndex (["0 days" , "1 days" ], freq = None )
1201
+ tm .assert_index_equal (idx_diff , expected )
1202
+ tm .assert_attr_equal ('freq' , idx_diff , expected )
0 commit comments