diff --git a/pandas/_libs/tslibs/timedeltas.pyx b/pandas/_libs/tslibs/timedeltas.pyx index 28aeb854638b6..ffa9a67542e21 100644 --- a/pandas/_libs/tslibs/timedeltas.pyx +++ b/pandas/_libs/tslibs/timedeltas.pyx @@ -1843,7 +1843,10 @@ class Timedelta(_Timedelta): NPY_DATETIMEUNIT.NPY_FR_W, NPY_DATETIMEUNIT.NPY_FR_GENERIC]): err = npy_unit_to_abbrev(reso) - raise ValueError(f" cannot construct a Timedelta from a unit {err}") + raise ValueError( + f"Unit {err} is not supported. " + "Only unambiguous timedelta values durations are supported. " + "Allowed units are 'W', 'D', 'h', 'm', 's', 'ms', 'us', 'ns'") new_reso = get_supported_reso(reso) if reso != NPY_DATETIMEUNIT.NPY_FR_GENERIC: diff --git a/pandas/tests/tslibs/test_timedeltas.py b/pandas/tests/tslibs/test_timedeltas.py index 2308aa27b60ab..4784a6d0d600d 100644 --- a/pandas/tests/tslibs/test_timedeltas.py +++ b/pandas/tests/tslibs/test_timedeltas.py @@ -76,7 +76,10 @@ def test_delta_to_nanoseconds_td64_MY_raises(): def test_unsupported_td64_unit_raises(unit): # GH 52806 with pytest.raises( - ValueError, match=f"cannot construct a Timedelta from a unit {unit}" + ValueError, + match=f"Unit {unit} is not supported. " + "Only unambiguous timedelta values durations are supported. " + "Allowed units are 'W', 'D', 'h', 'm', 's', 'ms', 'us', 'ns'", ): Timedelta(np.timedelta64(1, unit))