diff --git a/pandas/_libs/index.pyx b/pandas/_libs/index.pyx index 13812663dd907..f704ceffa662e 100644 --- a/pandas/_libs/index.pyx +++ b/pandas/_libs/index.pyx @@ -545,7 +545,7 @@ cpdef convert_scalar(ndarray arr, object value): elif arr.descr.type_num == NPY_TIMEDELTA: if util.is_array(value): pass - elif isinstance(value, timedelta): + elif isinstance(value, timedelta) or util.is_timedelta64_object(value): return Timedelta(value).value elif util.is_datetime64_object(value): # exclude np.datetime64("NaT") which would otherwise be picked up diff --git a/pandas/tests/series/indexing/test_indexing.py b/pandas/tests/series/indexing/test_indexing.py index 3083b655821f8..2d36bfdb93a17 100644 --- a/pandas/tests/series/indexing/test_indexing.py +++ b/pandas/tests/series/indexing/test_indexing.py @@ -690,13 +690,7 @@ def test_dt64_series_assign_nat(nat_val, should_cast, tz): "nat_val,should_cast", [ (pd.NaT, True), - pytest.param( - np.timedelta64("NaT", "ns"), - True, - marks=pytest.mark.xfail( - reason="Platform-specific failures, unknown cause", strict=False - ), - ), + (np.timedelta64("NaT", "ns"), True), (np.datetime64("NaT", "ns"), False), ], )