@@ -1203,6 +1203,28 @@ def test_implementation_limits(self):
12031203 with tm .assertRaises (OverflowError ):
12041204 Timedelta (max_td .value + 1 , 'ns' )
12051205
1206+ def test_timedelta_arithmetic (self ):
1207+ data = pd .Series (['nat' , '32 days' ], dtype = 'timedelta64[ns]' )
1208+ deltas = [timedelta (days = 1 ), Timedelta (1 , unit = 'D' )]
1209+ for delta in deltas :
1210+ result_method = data .add (delta )
1211+ result_operator = data + delta
1212+ expected = pd .Series (['nat' , '33 days' ], dtype = 'timedelta64[ns]' )
1213+ tm .assert_series_equal (result_operator , expected )
1214+ tm .assert_series_equal (result_method , expected )
1215+
1216+ result_method = data .sub (delta )
1217+ result_operator = data - delta
1218+ expected = pd .Series (['nat' , '31 days' ], dtype = 'timedelta64[ns]' )
1219+ tm .assert_series_equal (result_operator , expected )
1220+ tm .assert_series_equal (result_method , expected )
1221+ # GH 9396
1222+ result_method = data .div (delta )
1223+ result_operator = data / delta
1224+ expected = pd .Series ([np .nan , 32. ], dtype = 'float64' )
1225+ tm .assert_series_equal (result_operator , expected )
1226+ tm .assert_series_equal (result_method , expected )
1227+
12061228
12071229class TestTimedeltaIndex (tm .TestCase ):
12081230 _multiprocess_can_split_ = True
0 commit comments