File tree Expand file tree Collapse file tree 1 file changed +6
-8
lines changed
Expand file tree Collapse file tree 1 file changed +6
-8
lines changed Original file line number Diff line number Diff line change @@ -814,13 +814,7 @@ def _add_offset(self, offset: BaseOffset) -> Self:
814814 PerformanceWarning ,
815815 stacklevel = find_stack_level (),
816816 )
817- res_values = np .array (
818- [Timestamp (x ) + offset for x in self ],
819- dtype = "object" ,
820- )
821- result = type (self )._from_sequence (res_values )
822-
823- else :
817+ res_values = self .astype ("O" ) + offset
824818 units = [
825819 "ns" ,
826820 "us" ,
@@ -840,8 +834,12 @@ def _add_offset(self, offset: BaseOffset) -> Self:
840834 idx_self = units .index (self .unit )
841835 idx_offset = units .index (offset_unit )
842836 res_unit = units [min (idx_self , idx_offset )]
837+ dtype = tz_to_dtype (self .tz , unit = res_unit )
838+ result = type (self )._from_sequence (res_values , dtype = dtype )
839+
840+ else :
843841 result = type (self )._simple_new (res_values , dtype = res_values .dtype )
844- result = result .as_unit (res_unit )
842+ result = result .as_unit (self . unit )
845843
846844 if offset .normalize :
847845 result = result .normalize ()
You can’t perform that action at this time.
0 commit comments