Skip to content

Commit ae2f843

Browse files
committed
deprecate units T, t, L, l and fix tests
1 parent d6a767c commit ae2f843

File tree

7 files changed

+17
-13
lines changed

7 files changed

+17
-13
lines changed

pandas/_libs/tslibs/dtypes.pyx

+4
Original file line numberDiff line numberDiff line change
@@ -379,10 +379,14 @@ cpdef NPY_DATETIMEUNIT abbrev_to_npy_unit(str abbrev):
379379
return NPY_DATETIMEUNIT.NPY_FR_h
380380
elif abbrev == "m":
381381
return NPY_DATETIMEUNIT.NPY_FR_m
382+
elif abbrev == "T" or abbrev == "t":
383+
return NPY_DATETIMEUNIT.NPY_FR_m
382384
elif abbrev == "s":
383385
return NPY_DATETIMEUNIT.NPY_FR_s
384386
elif abbrev == "ms":
385387
return NPY_DATETIMEUNIT.NPY_FR_ms
388+
elif abbrev == "L" or abbrev == "l":
389+
return NPY_DATETIMEUNIT.NPY_FR_ms
386390
elif abbrev == "us":
387391
return NPY_DATETIMEUNIT.NPY_FR_us
388392
elif abbrev == "ns":

pandas/_libs/tslibs/timedeltas.pyi

+1
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ UnitChoices = Literal[
4949
"milli",
5050
"millis",
5151
"l",
52+
"L",
5253
"us",
5354
"microseconds",
5455
"microsecond",

pandas/_libs/tslibs/timedeltas.pyx

+1-1
Original file line numberDiff line numberDiff line change
@@ -722,7 +722,7 @@ cpdef inline str parse_timedelta_unit(str unit):
722722
"""
723723
if unit is None:
724724
return "ns"
725-
elif unit == "M":
725+
elif unit in {"M", "t", "T", "l", "L"}:
726726
return unit
727727
try:
728728
return timedelta_abbrevs[unit.lower()]

pandas/core/tools/timedeltas.py

+5-2
Original file line numberDiff line numberDiff line change
@@ -110,9 +110,9 @@ def to_timedelta(
110110
* 'W'
111111
* 'D' / 'days' / 'day'
112112
* 'hours' / 'hour' / 'hr' / 'h'
113-
* 'm' / 'minute' / 'min' / 'minutes' / 'T'
113+
* 'm' / 'minute' / 'min' / 'minutes'
114114
* 'S' / 'seconds' / 'sec' / 'second'
115-
* 'ms' / 'milliseconds' / 'millisecond' / 'milli' / 'millis' / 'L'
115+
* 'ms' / 'milliseconds' / 'millisecond' / 'milli' / 'millis'
116116
* 'us' / 'microseconds' / 'microsecond' / 'micro' / 'micros' / 'U'
117117
* 'ns' / 'nanoseconds' / 'nano' / 'nanos' / 'nanosecond' / 'N'
118118
@@ -181,6 +181,9 @@ def to_timedelta(
181181
"represent unambiguous timedelta values durations."
182182
)
183183

184+
if unit in {"t", "T", "l", "L"}:
185+
raise ValueError("Units 't', 'T', 'l' and 'L' are no longer supported.")
186+
184187
if arg is None:
185188
return arg
186189
elif isinstance(arg, ABCSeries):

pandas/tests/indexes/timedeltas/test_timedelta_range.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,8 @@ def test_timedelta_range(self):
3838
result = timedelta_range("1 days, 00:00:02", periods=5, freq="2D")
3939
tm.assert_index_equal(result, expected)
4040

41-
expected = to_timedelta(np.arange(50), unit="T") * 30
42-
result = timedelta_range("0 days", freq="30T", periods=50)
41+
expected = to_timedelta(np.arange(50), unit="min") * 30
42+
result = timedelta_range("0 days", freq="30min", periods=50)
4343
tm.assert_index_equal(result, expected)
4444

4545
@pytest.mark.parametrize(

pandas/tests/resample/test_timedelta.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -48,17 +48,17 @@ def test_resample_as_freq_with_subperiod():
4848
def test_resample_with_timedeltas():
4949
expected = DataFrame({"A": np.arange(1480)})
5050
expected = expected.groupby(expected.index // 30).sum()
51-
expected.index = timedelta_range("0 days", freq="30T", periods=50)
51+
expected.index = timedelta_range("0 days", freq="30min", periods=50)
5252

5353
df = DataFrame(
54-
{"A": np.arange(1480)}, index=pd.to_timedelta(np.arange(1480), unit="T")
54+
{"A": np.arange(1480)}, index=pd.to_timedelta(np.arange(1480), unit="min")
5555
)
56-
result = df.resample("30T").sum()
56+
result = df.resample("30min").sum()
5757

5858
tm.assert_frame_equal(result, expected)
5959

6060
s = df["A"]
61-
result = s.resample("30T").sum()
61+
result = s.resample("30min").sum()
6262
tm.assert_series_equal(result, expected["A"])
6363

6464

pandas/tests/scalar/timedelta/test_timedelta.py

-4
Original file line numberDiff line numberDiff line change
@@ -492,11 +492,9 @@ def test_nat_converters(self):
492492
"minute",
493493
"min",
494494
"minutes",
495-
"t",
496495
"Minute",
497496
"Min",
498497
"Minutes",
499-
"T",
500498
]
501499
]
502500
+ [
@@ -520,13 +518,11 @@ def test_nat_converters(self):
520518
"millisecond",
521519
"milli",
522520
"millis",
523-
"l",
524521
"MS",
525522
"Milliseconds",
526523
"Millisecond",
527524
"Milli",
528525
"Millis",
529-
"L",
530526
]
531527
]
532528
+ [

0 commit comments

Comments
 (0)