@@ -1203,6 +1203,28 @@ def test_implementation_limits(self):
1203
1203
with tm .assertRaises (OverflowError ):
1204
1204
Timedelta (max_td .value + 1 , 'ns' )
1205
1205
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
+
1206
1228
1207
1229
class TestTimedeltaIndex (tm .TestCase ):
1208
1230
_multiprocess_can_split_ = True
0 commit comments