Skip to content

Commit f571cce

Browse files
authored
ENH: unify warning message in to_offset() (#56417)
* ENH: unify warning message for deprecated freqs * correct warning message for deprecated abbreviations
1 parent acc395a commit f571cce

File tree

7 files changed

+28
-15
lines changed

7 files changed

+28
-15
lines changed

pandas/_libs/tslibs/offsets.pyx

+4-4
Original file line numberDiff line numberDiff line change
@@ -4786,7 +4786,8 @@ cpdef to_offset(freq, bint is_period=False):
47864786
for n, (sep, stride, name) in enumerate(tups):
47874787
if is_period is False and name in c_OFFSET_DEPR_FREQSTR:
47884788
warnings.warn(
4789-
f"\'{name}\' is deprecated, please use "
4789+
f"\'{name}\' is deprecated and will be removed "
4790+
f"in a future version, please use "
47904791
f"\'{c_OFFSET_DEPR_FREQSTR.get(name)}\' instead.",
47914792
FutureWarning,
47924793
stacklevel=find_stack_level(),
@@ -4829,9 +4830,8 @@ cpdef to_offset(freq, bint is_period=False):
48294830
if prefix in c_DEPR_ABBREVS:
48304831
warnings.warn(
48314832
f"\'{prefix}\' is deprecated and will be removed "
4832-
f"in a future version. Please use "
4833-
f"\'{c_DEPR_ABBREVS.get(prefix)}\' "
4834-
f"instead of \'{prefix}\'.",
4833+
f"in a future version, please use "
4834+
f"\'{c_DEPR_ABBREVS.get(prefix)}\' instead.",
48354835
FutureWarning,
48364836
stacklevel=find_stack_level(),
48374837
)

pandas/tests/arrays/test_datetimes.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -774,7 +774,8 @@ def test_iter_zoneinfo_fold(self, tz):
774774
)
775775
def test_date_range_frequency_M_Q_Y_A_deprecated(self, freq, freq_depr):
776776
# GH#9586, GH#54275
777-
depr_msg = f"'{freq_depr[1:]}' is deprecated, please use '{freq[1:]}' instead."
777+
depr_msg = f"'{freq_depr[1:]}' is deprecated and will be removed "
778+
f"in a future version, please use '{freq[1:]}' instead."
778779

779780
expected = pd.date_range("1/1/2000", periods=4, freq=freq)
780781
with tm.assert_produces_warning(FutureWarning, match=depr_msg):

pandas/tests/frame/methods/test_asfreq.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -252,7 +252,8 @@ def test_asfreq_2ME(self, freq, freq_half):
252252
)
253253
def test_asfreq_frequency_M_Q_Y_A_deprecated(self, freq, freq_depr):
254254
# GH#9586, #55978
255-
depr_msg = f"'{freq_depr[1:]}' is deprecated, please use '{freq[1:]}' instead."
255+
depr_msg = f"'{freq_depr[1:]}' is deprecated and will be removed "
256+
f"in a future version, please use '{freq[1:]}' instead."
256257

257258
index = date_range("1/1/2000", periods=4, freq=f"{freq[1:]}")
258259
df = DataFrame({"s": Series([0.0, 1.0, 2.0, 3.0], index=index)})

pandas/tests/indexes/datetimes/methods/test_to_period.py

+4-2
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,8 @@ def test_dti_to_period_2monthish(self, freq_offset, freq_period):
103103
)
104104
def test_to_period_frequency_M_Q_Y_A_deprecated(self, freq, freq_depr):
105105
# GH#9586
106-
msg = f"'{freq_depr[1:]}' is deprecated, please use '{freq[1:]}' instead."
106+
msg = f"'{freq_depr[1:]}' is deprecated and will be removed "
107+
f"in a future version, please use '{freq[1:]}' instead."
107108

108109
rng = date_range("01-Jan-2012", periods=8, freq=freq)
109110
prng = rng.to_period()
@@ -119,7 +120,8 @@ def test_to_period_frequency_M_Q_Y_A_deprecated(self, freq, freq_depr):
119120
)
120121
def test_to_period_frequency_BQ_BY_deprecated(self, freq, freq_depr):
121122
# GH#9586
122-
msg = f"'{freq_depr[1:]}' is deprecated, please use '{freq[1:]}' instead."
123+
msg = f"'{freq_depr[1:]}' is deprecated and will be removed "
124+
f"in a future version, please use '{freq[1:]}' instead."
123125

124126
rng = date_range("01-Jan-2012", periods=8, freq=freq)
125127
prng = rng.to_period()

pandas/tests/indexes/datetimes/test_date_range.py

+10-4
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,8 @@ def test_date_range_fractional_period(self):
157157
)
158158
def test_date_range_frequency_M_SM_BQ_BY_deprecated(self, freq, freq_depr):
159159
# GH#52064
160-
depr_msg = f"'{freq_depr[1:]}' is deprecated, please use '{freq[1:]}' instead."
160+
depr_msg = f"'{freq_depr[1:]}' is deprecated and will be removed "
161+
f"in a future version, please use '{freq[1:]}' instead."
161162

162163
expected = date_range("1/1/2000", periods=4, freq=freq)
163164
with tm.assert_produces_warning(FutureWarning, match=depr_msg):
@@ -788,8 +789,12 @@ def test_freq_dateoffset_with_relateivedelta_nanos(self):
788789
)
789790
def test_frequencies_H_T_S_L_U_N_deprecated(self, freq, freq_depr):
790791
# GH#52536
791-
freq_msg = re.split("[0-9]*", freq_depr, maxsplit=1)[1]
792-
msg = f"'{freq_msg}' is deprecated and will be removed in a future version."
792+
freq_msg = re.split("[0-9]*", freq, maxsplit=1)[1]
793+
freq_depr_msg = re.split("[0-9]*", freq_depr, maxsplit=1)[1]
794+
msg = (
795+
f"'{freq_depr_msg}' is deprecated and will be removed in a future version, "
796+
)
797+
f"please use '{freq_msg}' instead"
793798

794799
expected = date_range("1/1/2000", periods=2, freq=freq)
795800
with tm.assert_produces_warning(FutureWarning, match=msg):
@@ -809,7 +814,8 @@ def test_frequencies_A_deprecated_Y_renamed(self, freq, freq_depr):
809814
# GH#9586, GH#54275
810815
freq_msg = re.split("[0-9]*", freq, maxsplit=1)[1]
811816
freq_depr_msg = re.split("[0-9]*", freq_depr, maxsplit=1)[1]
812-
msg = f"'{freq_depr_msg}' is deprecated, please use '{freq_msg}' instead."
817+
msg = f"'{freq_depr_msg}' is deprecated and will be removed "
818+
f"in a future version, please use '{freq_msg}' instead."
813819

814820
expected = date_range("1/1/2000", periods=2, freq=freq)
815821
with tm.assert_produces_warning(FutureWarning, match=msg):

pandas/tests/indexes/datetimes/test_datetime.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -202,7 +202,8 @@ def test_AS_BAS_deprecated(self, freq_depr, expected_values, expected_freq):
202202
)
203203
def test_BM_BQ_BY_deprecated(self, freq, expected_values, freq_depr):
204204
# GH#52064
205-
msg = f"'{freq_depr[1:]}' is deprecated, please use '{freq[1:]}' instead."
205+
msg = f"'{freq_depr[1:]}' is deprecated and will be removed "
206+
f"in a future version, please use '{freq[1:]}' instead."
206207

207208
with tm.assert_produces_warning(FutureWarning, match=msg):
208209
expected = date_range(start="2016-02-21", end="2016-08-21", freq=freq_depr)

pandas/tests/resample/test_datetime_index.py

+4-2
Original file line numberDiff line numberDiff line change
@@ -2102,7 +2102,8 @@ def test_resample_empty_series_with_tz():
21022102
)
21032103
def test_resample_M_Q_Y_A_deprecated(freq, freq_depr):
21042104
# GH#9586
2105-
depr_msg = f"'{freq_depr[1:]}' is deprecated, please use '{freq[1:]}' instead."
2105+
depr_msg = f"'{freq_depr[1:]}' is deprecated and will be removed "
2106+
f"in a future version, please use '{freq[1:]}' instead."
21062107

21072108
s = Series(range(10), index=date_range("20130101", freq="d", periods=10))
21082109
expected = s.resample(freq).mean()
@@ -2121,7 +2122,8 @@ def test_resample_M_Q_Y_A_deprecated(freq, freq_depr):
21212122
)
21222123
def test_resample_BM_BQ_deprecated(freq, freq_depr):
21232124
# GH#52064
2124-
depr_msg = f"'{freq_depr[1:]}' is deprecated, please use '{freq[1:]}' instead."
2125+
depr_msg = f"'{freq_depr[1:]}' is deprecated and will be removed "
2126+
f"in a future version, please use '{freq[1:]}' instead."
21252127

21262128
s = Series(range(10), index=date_range("20130101", freq="d", periods=10))
21272129
expected = s.resample(freq).mean()

0 commit comments

Comments
 (0)