Skip to content

Commit c540329

Browse files
authored
CLN: require td64 in TimedeltaBlock (#37018)
1 parent 8df8c45 commit c540329

File tree

2 files changed

+8
-4
lines changed

2 files changed

+8
-4
lines changed

pandas/core/internals/blocks.py

+5-1
Original file line numberDiff line numberDiff line change
@@ -2376,7 +2376,11 @@ class TimeDeltaBlock(DatetimeLikeBlockMixin, IntBlock):
23762376

23772377
def _maybe_coerce_values(self, values):
23782378
if values.dtype != TD64NS_DTYPE:
2379-
# e.g. non-nano or int64
2379+
# non-nano we will convert to nano
2380+
if values.dtype.kind != "m":
2381+
# caller is responsible for ensuring timedelta64 dtype
2382+
raise TypeError(values.dtype) # pragma: no cover
2383+
23802384
values = TimedeltaArray._from_sequence(values)._data
23812385
if isinstance(values, TimedeltaArray):
23822386
values = values._data

pandas/core/missing.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -573,9 +573,9 @@ def interpolate_2d(
573573
if ndim == 1:
574574
result = result[0]
575575

576-
if orig_values.dtype.kind == "M":
577-
# convert float back to datetime64
578-
result = result.astype(orig_values.dtype)
576+
if orig_values.dtype.kind in ["m", "M"]:
577+
# convert float back to datetime64/timedelta64
578+
result = result.view(orig_values.dtype)
579579

580580
return result
581581

0 commit comments

Comments
 (0)