@@ -865,7 +865,7 @@ def test_dt64arr_add_sub_td64ndarray(self, tz_naive_fixture, box_with_array):
865865 tdi = pd .TimedeltaIndex (["-1 Day" , "-1 Day" , "-1 Day" ])
866866 tdarr = tdi .values
867867
868- expected = pd .date_range ("2015-12-31" , periods = 3 , tz = tz )
868+ expected = pd .date_range ("2015-12-31" , "2016-01-02" , periods = 3 , tz = tz )
869869
870870 dtarr = tm .box_expected (dti , box_with_array )
871871 expected = tm .box_expected (expected , box_with_array )
@@ -875,7 +875,7 @@ def test_dt64arr_add_sub_td64ndarray(self, tz_naive_fixture, box_with_array):
875875 result = tdarr + dtarr
876876 tm .assert_equal (result , expected )
877877
878- expected = pd .date_range ("2016-01-02" , periods = 3 , tz = tz )
878+ expected = pd .date_range ("2016-01-02" , "2016-01-04" , periods = 3 , tz = tz )
879879 expected = tm .box_expected (expected , box_with_array )
880880
881881 result = dtarr - tdarr
@@ -1385,13 +1385,13 @@ def test_dt64arr_add_sub_DateOffset(self, box_with_array):
13851385 s = tm .box_expected (s , box_with_array )
13861386 result = s + pd .DateOffset (years = 1 )
13871387 result2 = pd .DateOffset (years = 1 ) + s
1388- exp = date_range ("2001-01-01" , "2001-01-31" , name = "a" )
1388+ exp = date_range ("2001-01-01" , "2001-01-31" , name = "a" ). _with_freq ( None )
13891389 exp = tm .box_expected (exp , box_with_array )
13901390 tm .assert_equal (result , exp )
13911391 tm .assert_equal (result2 , exp )
13921392
13931393 result = s - pd .DateOffset (years = 1 )
1394- exp = date_range ("1999-01-01" , "1999-01-31" , name = "a" )
1394+ exp = date_range ("1999-01-01" , "1999-01-31" , name = "a" ). _with_freq ( None )
13951395 exp = tm .box_expected (exp , box_with_array )
13961396 tm .assert_equal (result , exp )
13971397
@@ -1553,7 +1553,7 @@ def test_dti_add_sub_nonzero_mth_offset(
15531553 mth = getattr (date , op )
15541554 result = mth (offset )
15551555
1556- expected = pd .DatetimeIndex (exp , tz = tz , freq = exp_freq )
1556+ expected = pd .DatetimeIndex (exp , tz = tz )
15571557 expected = tm .box_expected (expected , box_with_array , False )
15581558 tm .assert_equal (result , expected )
15591559
@@ -2344,29 +2344,29 @@ def test_ufunc_coercions(self):
23442344 assert result .freq == "2D"
23452345
23462346 exp = date_range ("2010-12-31" , periods = 3 , freq = "2D" , name = "x" )
2347+
23472348 for result in [idx - delta , np .subtract (idx , delta )]:
23482349 assert isinstance (result , DatetimeIndex )
23492350 tm .assert_index_equal (result , exp )
23502351 assert result .freq == "2D"
23512352
2353+ # When adding/subtracting an ndarray (which has no .freq), the result
2354+ # does not infer freq
2355+ idx = idx ._with_freq (None )
23522356 delta = np .array (
23532357 [np .timedelta64 (1 , "D" ), np .timedelta64 (2 , "D" ), np .timedelta64 (3 , "D" )]
23542358 )
2355- exp = DatetimeIndex (
2356- ["2011-01-02" , "2011-01-05" , "2011-01-08" ], freq = "3D" , name = "x"
2357- )
2359+ exp = DatetimeIndex (["2011-01-02" , "2011-01-05" , "2011-01-08" ], name = "x" )
2360+
23582361 for result in [idx + delta , np .add (idx , delta )]:
2359- assert isinstance (result , DatetimeIndex )
23602362 tm .assert_index_equal (result , exp )
2361- assert result .freq == "3D"
2363+ assert result .freq == exp . freq
23622364
2363- exp = DatetimeIndex (
2364- ["2010-12-31" , "2011-01-01" , "2011-01-02" ], freq = "D" , name = "x"
2365- )
2365+ exp = DatetimeIndex (["2010-12-31" , "2011-01-01" , "2011-01-02" ], name = "x" )
23662366 for result in [idx - delta , np .subtract (idx , delta )]:
23672367 assert isinstance (result , DatetimeIndex )
23682368 tm .assert_index_equal (result , exp )
2369- assert result .freq == "D"
2369+ assert result .freq == exp . freq
23702370
23712371 @pytest .mark .parametrize (
23722372 "names" , [("foo" , None , None ), ("baz" , "bar" , None ), ("bar" , "bar" , "bar" )]
0 commit comments